All functions:
  Elements:
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:54,1
    - Dst: IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:58,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:66,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:74,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:81,1
    - Dst: ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:82,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:83,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: FreeList*::empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:94,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:96,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:96,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:98,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:99,1
    - Dst: FreeList*::PushBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:106,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:113,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:113,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:117,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:117,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:122,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:123,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:129,1
    - Dst: ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:130,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:137,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:140,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: TC_ASSERT_GT
      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_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:147,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:156,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:158,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:162,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:164,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:165,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:167,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:168,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:171,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:172,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:174,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:175,1
    - Dst: FreeList*::lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:189,1
    - Dst: ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:192,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:202,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:203,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:205,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:205,1
    - Dst: FreeList*::clear_lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:208,1
    - Dst: IncreaseCacheLimit
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:211,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: ListTooLong
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:216,1
    - Dst: Scavenge
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:219,1
    - Dst: IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:225,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:242,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:258,1
    - Dst: pthread_key_create
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:259,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:265,1
    - Dst: pthread_self
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:278,1
    - Dst: NewHeap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:293,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:305,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:313,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:320,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:330,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:335,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:339,1
    - Dst: DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:346,1
    - Dst: DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:355,1
    - Dst: reinterpret_cast<ThreadCache*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:355,1
    - Dst: ThreadCache*::Cleanup
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:361,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:376,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:382,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:388,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:399,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:411,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:415,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:423,1
    - Dst: RecomputePerThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:425,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 211
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 429
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - DeleteCache
    - length
    - RecomputePerThreadCacheSize
    - std::min<int>
    - sizemap
    - IncreaseCacheLimit
    - pthread_key_create
    - NewHeap
    - TC_ASSERT_EQ
    - FreeList*::lowwatermark
    - ListTooLong
    - std::max<int>
    - InitIfNecessary
    - AssertHeld
    - ReleaseToTransferCache
    - Init
    - threadcache_allocator
    - std::min
    - reinterpret_cast<ThreadCache*>
    - ThreadCache*::Cleanup
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    - PopBatch
    - Scavenge
    - std::max<double>
    - store
    - pthread_setspecific
    - absl::MakeSpan
    - FreeList*::PushBatch
    - GetCacheIfPresent
    - FreeList*::clear_lowwatermark
    - empty
    - FreeList*::length_overages
    - pthread_self
    - transfer_cache
    - absl::Span<void*>
    - FreeList*::set_max_length
    - FreeList*::empty
    - FreeList*::set_length_overages
    - ABSL_PREDICT_FALSE
    - load
    - FreeList*::max_length
    - IncreaseCacheLimitLocked
    - FreeList*::length
    - TC_ASSERT
    - ABSL_ARRAYSIZE
    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:54,1
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:58,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:66,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::ThreadCache::ThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - Init
    - TC_ASSERT_LT
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
    - AssertHeld
    linkageType: ''
    returnType: void
    signature: void ThreadCache::ThreadCache(pthread_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:81,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:82,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tcmalloc_internal::ThreadCache::Cleanup
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    - empty
    - length
    linkageType: ''
    returnType: void
    signature: void ThreadCache::Cleanup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: FreeList*::empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:94,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:96,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:96,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:98,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:99,1
    - Dst: FreeList*::PushBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:106,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:113,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:113,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:117,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:117,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:122,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - size_class
    - byte_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::ThreadCache::FetchFromTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - FreeList*::set_max_length
    - FreeList*::empty
    - absl::MakeSpan
    - FreeList*::PushBatch
    - FreeList*::max_length
    - std::min<int>
    - sizemap
    - TC_ASSERT
    - TC_ASSERT_EQ
    - std::min
    - transfer_cache
    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:129,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:130,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:137,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:140,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: TC_ASSERT_GT
      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_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - list
    - size_class
    argTypes:
    - FreeList*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::ThreadCache::ListTooLong
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - FreeList*::set_max_length
    - FreeList*::set_length_overages
    - FreeList*::max_length
    - sizemap
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    - FreeList*::length_overages
    - TC_ASSERT_GT
    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:156,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:158,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:162,1
    - Dst: FreeList*::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:164,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:165,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:167,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:168,1
    - Dst: FreeList*::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:171,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:172,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:174,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src
    - size_class
    - N
    argTypes:
    - FreeList*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 2
    functionsReached:
    - FreeList*::PopBatch
    - sizemap
    - FreeList*::length
    - absl::Span<void*>
    - TC_ASSERT_EQ
    - transfer_cache
    - ABSL_ARRAYSIZE
    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:189,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:192,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:202,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:203,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:205,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:205,1
    - Dst: FreeList*::clear_lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:208,1
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimit
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::ThreadCache::Scavenge
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - FreeList*::set_max_length
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimit
    - FreeList*::clear_lowwatermark
    - FreeList*::max_length
    - sizemap
    - std::max<int>
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    - FreeList*::lowwatermark
    linkageType: ''
    returnType: void
    signature: void ThreadCache::Scavenge()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: tcmalloc_internal::ThreadCache::ListTooLong
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:216,1
    - Dst: tcmalloc_internal::ThreadCache::Scavenge
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - list
    - size_class
    argTypes:
    - void*
    - FreeList*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: tcmalloc_internal::ThreadCache::DeallocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - FreeList*::max_length
    - FreeList*::length
    - tcmalloc_internal::ThreadCache::Scavenge
    - tcmalloc_internal::ThreadCache::ListTooLong
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    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:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 255
    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:258,1
    - Dst: pthread_key_create
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    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:265,1
    - Dst: pthread_self
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:278,1
    - Dst: tcmalloc_internal::ThreadCache::NewHeap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:293,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::NewHeap
    - pthread_self
    - InitIfNecessary
    - pthread_setspecific
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::CreateCacheIfNecessary()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:313,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 326
    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:330,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:335,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:339,1
    - Dst: tcmalloc_internal::ThreadCache::DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 347
    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:355,1
    - Dst: reinterpret_cast<ThreadCache*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 357
    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:361,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - heap
    argTypes:
    - ThreadCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 377
    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:382,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:388,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 401
    functionName: tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - load
    - std::max<double>
    linkageType: ''
    returnType: void
    signature: void ThreadCache::RecomputePerThreadCacheSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:411,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - total_bytes
    - class_count
    argTypes:
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 416
    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:423,1
    - Dst: tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 426
    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:54,1
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:58,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:66,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: tcmalloc_internal::ThreadCache::ThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - Init
    - TC_ASSERT_LT
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimitLocked
    - AssertHeld
    linkageType: ''
    returnType: void
    signature: void ThreadCache::ThreadCache(pthread_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:81,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:82,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tcmalloc_internal::ThreadCache::Cleanup
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    - empty
    - length
    linkageType: ''
    returnType: void
    signature: void ThreadCache::Cleanup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: FreeList*::empty
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:94,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:96,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:96,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:98,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:99,1
    - Dst: FreeList*::PushBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:106,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:112,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:113,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:113,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:117,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:117,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:122,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - size_class
    - byte_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::ThreadCache::FetchFromTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - FreeList*::set_max_length
    - FreeList*::empty
    - absl::MakeSpan
    - FreeList*::PushBatch
    - FreeList*::max_length
    - std::min<int>
    - sizemap
    - TC_ASSERT
    - TC_ASSERT_EQ
    - std::min
    - transfer_cache
    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:129,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:130,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:137,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:139,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:140,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:143,1
    - Dst: FreeList*::length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:144,1
    - Dst: TC_ASSERT_GT
      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_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:146,1
    - Dst: FreeList*::set_length_overages
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - list
    - size_class
    argTypes:
    - FreeList*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: tcmalloc_internal::ThreadCache::ListTooLong
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 1
    functionsReached:
    - FreeList*::set_max_length
    - FreeList*::set_length_overages
    - FreeList*::max_length
    - sizemap
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    - FreeList*::length_overages
    - TC_ASSERT_GT
    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:156,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:157,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:158,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:162,1
    - Dst: FreeList*::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:164,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:165,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:167,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:168,1
    - Dst: FreeList*::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:171,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:172,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:174,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src
    - size_class
    - N
    argTypes:
    - FreeList*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 5
    functionsReached:
    - FreeList*::PopBatch
    - sizemap
    - FreeList*::length
    - absl::Span<void*>
    - TC_ASSERT_EQ
    - transfer_cache
    - ABSL_ARRAYSIZE
    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:189,1
    - Dst: tcmalloc_internal::ThreadCache::ReleaseToTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:192,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:202,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:203,1
    - Dst: FreeList*::set_max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:204,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:205,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:205,1
    - Dst: FreeList*::clear_lowwatermark
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:208,1
    - Dst: tcmalloc_internal::ThreadCache::IncreaseCacheLimit
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::ThreadCache::Scavenge
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 1
    functionsReached:
    - FreeList*::set_max_length
    - tcmalloc_internal::ThreadCache::IncreaseCacheLimit
    - FreeList*::clear_lowwatermark
    - FreeList*::max_length
    - sizemap
    - std::max<int>
    - tcmalloc_internal::ThreadCache::ReleaseToTransferCache
    - FreeList*::lowwatermark
    linkageType: ''
    returnType: void
    signature: void ThreadCache::Scavenge()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:215,1
    - Dst: tcmalloc_internal::ThreadCache::ListTooLong
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:216,1
    - Dst: tcmalloc_internal::ThreadCache::Scavenge
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - list
    - size_class
    argTypes:
    - void*
    - FreeList*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: tcmalloc_internal::ThreadCache::DeallocateSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - FreeList*::max_length
    - FreeList*::length
    - tcmalloc_internal::ThreadCache::Scavenge
    - tcmalloc_internal::ThreadCache::ListTooLong
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 226
    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:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 255
    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:258,1
    - Dst: pthread_key_create
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    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:265,1
    - Dst: pthread_self
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:278,1
    - Dst: tcmalloc_internal::ThreadCache::NewHeap
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:293,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::NewHeap
    - pthread_self
    - InitIfNecessary
    - pthread_setspecific
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::CreateCacheIfNecessary()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:313,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 326
    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:330,1
    - Dst: pthread_setspecific
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:335,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:339,1
    - Dst: tcmalloc_internal::ThreadCache::DeleteCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 347
    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:355,1
    - Dst: reinterpret_cast<ThreadCache*>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 357
    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:361,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - heap
    argTypes:
    - ThreadCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 377
    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:382,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:388,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 401
    functionName: tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.cc
    functionUses: 1
    functionsReached:
    - load
    - std::max<double>
    linkageType: ''
    returnType: void
    signature: void ThreadCache::RecomputePerThreadCacheSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:411,1
    - Dst: threadcache_allocator
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - total_bytes
    - class_count
    argTypes:
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 416
    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:423,1
    - Dst: tcmalloc_internal::ThreadCache::RecomputePerThreadCacheSize
      Src: /src/tcmalloc/tcmalloc/thread_cache.cc:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 426
    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: 4
    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<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:151,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:169,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:214,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:254,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:257,1
    - Dst: OomPolicy::template handle_oom<SizeReturningPolicy>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:320,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:340,1
    - Dst: partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:343,1
    - Dst: scaled_partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:347,1
    - Dst: partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:355,1
    - Dst: token_id
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:359,1
    - Dst: access
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:361,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:363,1
    - Dst: tcmalloc_internal::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:366,1
    - Dst: tcmalloc_internal::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:370,1
    - Dst: tcmalloc_internal::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:373,1
    - Dst: tcmalloc_internal::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:376,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n
        \                         SizeReturningPolicy, NumaPolicy, PartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:384,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n                          HooksPolicy,
        SizeReturningPolicy, NumaPolicy,\n                          PartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:393,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n                          HooksPolicy,
        SizeReturningPolicy, NumaPolicy,\n                          PartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:404,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n                          HooksPolicy,
        SizeReturningPolicy, NumaPolicy,\n                          PartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:414,1
    - Dst: "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
        \                         SizeReturningPolicy, NumaPolicy, PartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:424,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
        \                         SizeReturningPolicy, NumaPolicy, PartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:433,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          IsSizeReturningPolicy,
        NumaPolicy, PartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:441,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
        FixedNumaPartitionPolicy,\n                          SecurityPartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:452,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
        NumaPolicy,\n                          SecurityPartitionPolicy>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:467,1
    - Dst: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
        NumaPolicy,\n                          ConstSecurityPartitionPolicy<kTokenId>>"
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:482,1
    - Dst: ConstSecurityPartitionPolicy<kTokenId>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:485,1
    - Dst: InPartition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:491,1
    - Dst: PartitionFromPointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 130
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 505
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n                          HooksPolicy,
      SizeReturningPolicy, NumaPolicy,\n                          PartitionPolicy>"
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - token_id
    - tcmalloc_internal::invoke_hooks
    - sizemap
    - "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
      NumaPolicy, PartitionPolicy>"
    - scaled_partition
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
      NumaPolicy,\n                          SecurityPartitionPolicy>"
    - ConstSecurityPartitionPolicy<kTokenId>
    - access
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
      NumaPolicy,\n                          ConstSecurityPartitionPolicy<kTokenId>>"
    - tcmalloc_internal::size_returning
    - is_cold
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          IsSizeReturningPolicy,
      NumaPolicy, PartitionPolicy>"
    - numa_topology
    - align
    - InPartition
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
      FixedNumaPartitionPolicy,\n                          SecurityPartitionPolicy>"
    - tcmalloc_internal::to_pointer
    - static_cast<std::align_val_t>
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::as_pointer
    - PartitionFromPointer
    - "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n                          SizeReturningPolicy,
      NumaPolicy, PartitionPolicy>"
    - partition
    - OomPolicy::template handle_oom<SizeReturningPolicy>
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n                          SizeReturningPolicy,
      NumaPolicy, PartitionPolicy>"
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n                          HooksPolicy,
      SizeReturningPolicy, NumaPolicy,\n                          PartitionPolicy>"
    - "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n                          HooksPolicy,
      SizeReturningPolicy, NumaPolicy,\n                          PartitionPolicy>"
    - CrashWithOOM
    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: std::align_val_t
    signature: std::align_val_t align()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t align()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    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:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: void AlignAsPolicy(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    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: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::AlignAsPolicy::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t align() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    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: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    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: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    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:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 169
    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: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    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: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    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: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    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: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    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: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    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: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    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:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    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: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    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: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    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: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    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: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    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: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    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: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    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:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    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: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: 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: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::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: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::token_id
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenId
    signature: TokenId token_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - partition_id
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::SecurityPartitionPolicy::SecurityPartitionPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecurityPartitionPolicy(size_t partition_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - partition_id
    - token_id
    argTypes:
    - size_t
    - TokenId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: tcmalloc_internal::SecurityPartitionPolicy::SecurityPartitionPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SecurityPartitionPolicy(size_t partition_id,\n                                             TokenId
      token_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc_internal::SecurityPartitionPolicy::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: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: tcmalloc_internal::SecurityPartitionPolicy::token_id
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenId
    signature: TokenId token_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::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: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::token_id
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenId
    signature: TokenId token_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    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: 3
    argNames:
    - align
    - numa
    - partition
    argTypes:
    - AlignPolicy
    - NumaPolicy
    - PartitionPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    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,\n                                    PartitionPolicy
      partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - align
    - access
    - numa
    - partition
    argTypes:
    - AlignPolicy
    - AccessPolicy
    - NumaPolicy
    - PartitionPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    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, PartitionPolicy partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OomPolicy::template handle_oom<SizeReturningPolicy>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    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: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::TCMallocPolicy::has_explicit_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_explicit_alignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: tcmalloc_internal::TCMallocPolicy::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::align
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t align() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: tcmalloc_internal::TCMallocPolicy::numa_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::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:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::TCMallocPolicy::partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::partition
    linkageType: ''
    returnType: size_t
    signature: size_t partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::token_id
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::TCMallocPolicy::token_id
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::token_id
    linkageType: ''
    returnType: TokenId
    signature: TokenId token_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::access
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 361
    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:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 363
    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:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 366
    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:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    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:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - capacity
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 374
    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:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 377
    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:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - align_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 387
    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, PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy, PartitionPolicy>
      AlignAs(align_t align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hot_cold
    argTypes:
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 397
    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,\n                           PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy,\n                           PartitionPolicy>
      AccessAs(hot_cold_t hot_cold) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 407
    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,\n                           PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy,\n                           PartitionPolicy>
      AccessAsHot() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 417
    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,\n                           PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy,\n                           PartitionPolicy>
      AccessAsCold() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 427
    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,\n                           PartitionPolicy>"
    signature: "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy,\n                           HooksPolicy,
      SizeReturningPolicy, NumaPolicy,\n                           PartitionPolicy>
      Nothrow() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 436
    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, PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy, PartitionPolicy>
      WithoutHooks() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    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, PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          IsSizeReturningPolicy, NumaPolicy, PartitionPolicy>
      SizeReturning() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 458
    functionName: tcmalloc_internal::TCMallocPolicy::InPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, FixedNumaPartitionPolicy,\n
      \                          SecurityPartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, FixedNumaPartitionPolicy,\n
      \                          SecurityPartitionPolicy> InPartition(size_t partition)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - partition
    - token_id
    argTypes:
    - size_t
    - TokenId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 473
    functionName: tcmalloc_internal::TCMallocPolicy::InPartitionWithToken
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy,\n                           SecurityPartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy,\n                           SecurityPartitionPolicy>
      InPartitionWithToken(size_t partition, TokenId token_id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:482,1
    - Dst: ConstSecurityPartitionPolicy<kTokenId>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: tcmalloc_internal::TCMallocPolicy::WithSecurityToken
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - ConstSecurityPartitionPolicy<kTokenId>
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy,\n                           ConstSecurityPartitionPolicy<kTokenId>>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy,\n                           ConstSecurityPartitionPolicy<kTokenId>>
      WithSecurityToken() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::InPartition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:491,1
    - Dst: PartitionFromPointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: tcmalloc_internal::TCMallocPolicy::InSamePartitionAs
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - PartitionFromPointer
    - tcmalloc_internal::TCMallocPolicy::InPartition
    linkageType: ''
    returnType: auto
    signature: auto InSamePartitionAs(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: std::align_val_t
    signature: std::align_val_t align()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t align()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    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:
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    linkageType: ''
    returnType: void
    signature: void AlignAsPolicy(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::AlignAsPolicy::AlignAsPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    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: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::AlignAsPolicy::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t align() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    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: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    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: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    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:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 169
    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: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    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: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    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: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    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: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    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: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    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: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    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:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    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: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    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: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    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: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    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: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    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: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    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: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    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:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    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: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: 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: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::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: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: tcmalloc_internal::token_id
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenId
    signature: TokenId token_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - partition_id
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::SecurityPartitionPolicy::SecurityPartitionPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecurityPartitionPolicy(size_t partition_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - partition_id
    - token_id
    argTypes:
    - size_t
    - TokenId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: tcmalloc_internal::SecurityPartitionPolicy::SecurityPartitionPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SecurityPartitionPolicy(size_t partition_id,\n                                             TokenId
      token_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: tcmalloc_internal::SecurityPartitionPolicy::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: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: tcmalloc_internal::SecurityPartitionPolicy::token_id
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenId
    signature: TokenId token_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::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: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::token_id
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenId
    signature: TokenId token_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TCMallocPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - align
    - numa
    - partition
    argTypes:
    - AlignPolicy
    - NumaPolicy
    - PartitionPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TCMallocPolicy(AlignPolicy align, NumaPolicy numa,\n                                    PartitionPolicy
      partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - align
    - access
    - numa
    - partition
    argTypes:
    - AlignPolicy
    - AccessPolicy
    - NumaPolicy
    - PartitionPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TCMallocPolicy(AlignPolicy align, AccessPolicy access,\n                                    NumaPolicy
      numa, PartitionPolicy partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OomPolicy::template handle_oom<SizeReturningPolicy>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    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: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::TCMallocPolicy::has_explicit_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_explicit_alignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: tcmalloc_internal::TCMallocPolicy::align
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::align
    linkageType: ''
    returnType: std::align_val_t
    signature: std::align_val_t align() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: tcmalloc_internal::TCMallocPolicy::numa_partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::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:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: tcmalloc_internal::TCMallocPolicy::partition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::partition
    linkageType: ''
    returnType: size_t
    signature: size_t partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::token_id
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::TCMallocPolicy::token_id
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::token_id
    linkageType: ''
    returnType: TokenId
    signature: TokenId token_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::access
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 361
    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:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 363
    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:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 366
    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:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    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:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - capacity
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 374
    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:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 377
    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:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - align_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 387
    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, PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignAsPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy, PartitionPolicy>
      AlignAs(align_t align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hot_cold
    argTypes:
    - hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 397
    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,\n                           PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessAsPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy,\n                           PartitionPolicy>
      AccessAs(hot_cold_t hot_cold) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 407
    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,\n                           PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessHotPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy,\n                           PartitionPolicy>
      AccessAsHot() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 417
    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,\n                           PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AllocationAccessColdPolicy,\n
      \                          HooksPolicy, SizeReturningPolicy, NumaPolicy,\n                           PartitionPolicy>
      AccessAsCold() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 427
    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,\n                           PartitionPolicy>"
    signature: "TCMallocPolicy<NullOomPolicy, AlignPolicy, AccessPolicy,\n                           HooksPolicy,
      SizeReturningPolicy, NumaPolicy,\n                           PartitionPolicy>
      Nothrow() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 436
    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, PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, NoHooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy, PartitionPolicy>
      WithoutHooks() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    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, PartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          IsSizeReturningPolicy, NumaPolicy, PartitionPolicy>
      SizeReturning() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 458
    functionName: tcmalloc_internal::TCMallocPolicy::InPartition
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, FixedNumaPartitionPolicy,\n
      \                          SecurityPartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, FixedNumaPartitionPolicy,\n
      \                          SecurityPartitionPolicy> InPartition(size_t partition)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - partition
    - token_id
    argTypes:
    - size_t
    - TokenId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 473
    functionName: tcmalloc_internal::TCMallocPolicy::InPartitionWithToken
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy,\n                           SecurityPartitionPolicy>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy,\n                           SecurityPartitionPolicy>
      InPartitionWithToken(size_t partition, TokenId token_id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:482,1
    - Dst: ConstSecurityPartitionPolicy<kTokenId>
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: tcmalloc_internal::TCMallocPolicy::WithSecurityToken
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - ConstSecurityPartitionPolicy<kTokenId>
    - tcmalloc_internal::TCMallocPolicy::TCMallocPolicy
    linkageType: ''
    returnType: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy,\n                           ConstSecurityPartitionPolicy<kTokenId>>"
    signature: "TCMallocPolicy<OomPolicy, AlignPolicy, AccessPolicy, HooksPolicy,\n
      \                          SizeReturningPolicy, NumaPolicy,\n                           ConstSecurityPartitionPolicy<kTokenId>>
      WithSecurityToken() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TCMallocPolicy::InPartition
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:491,1
    - Dst: PartitionFromPointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc_policy.h:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: tcmalloc_internal::TCMallocPolicy::InSamePartitionAs
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    functionUses: 0
    functionsReached:
    - PartitionFromPointer
    - tcmalloc_internal::TCMallocPolicy::InPartition
    linkageType: ''
    returnType: auto
    signature: auto InSamePartitionAs(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: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    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: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    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:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    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:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    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: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    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: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    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: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    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: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    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: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    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:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    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: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    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: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    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: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    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:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    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: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    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: 0
    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: 0
    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:
    - fetch_add
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - absl::base_internal::LowLevelAlloc::NewArena
    - absl::base_internal::LowLevelCallOnce
    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:
    - std::unique_ptr<const tcmalloc_internal::ProfileBase>
    - MallocExtension_Internal_SnapshotCurrent
    - Profile
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    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
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    - MallocExtension_Internal_StartAllocationProfiling
    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:
    - MallocExtension_Internal_StartLifetimeProfiling
    - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    - 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:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetSkipSubreleaseLongInterval
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:568,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:568,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:569,1
    - Dst: SanitizerVirtualMemoryOverhead
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:580,1
    - Dst: SanitizerMemoryUsageMultiplier
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:583,1
    - Dst: SanitizerStackSizeMultiplier
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:586,1
    - Dst: __sanitizer_get_current_allocated_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:589,1
    - Dst: __sanitizer_get_heap_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:592,1
    - Dst: __sanitizer_get_free_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:599,1
    - Dst: __sanitizer_get_unmapped_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:602,1
    - Dst: __sanitizer_get_free_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:606,1
    - Dst: __sanitizer_get_unmapped_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:606,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - property
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 611
    functionName: tcmalloc::MallocExtension::GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - SanitizerVirtualMemoryOverhead
    - SanitizerMemoryUsageMultiplier
    - SanitizerStackSizeMultiplier
    - __sanitizer_get_unmapped_bytes
    - MallocExtension_Internal_GetNumericProperty
    - absl::string_view::size
    - __sanitizer_get_current_allocated_bytes
    - __sanitizer_get_free_bytes
    - absl::string_view::data
    - __sanitizer_get_heap_size
    linkageType: ''
    returnType: std::optional<size_t>
    signature: "std::optional<size_t> MallocExtension::GetNumericProperty(\n    absl::string_view
      property)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 615
    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:620,1
    - Dst: __sanitizer_get_allocated_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 627
    functionName: tcmalloc::MallocExtension::GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetAllocatedSize
    - __sanitizer_get_allocated_size
    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:632,1
    - Dst: __sanitizer_get_ownership
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 641
    functionName: tcmalloc::MallocExtension::GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetOwnership
    - __sanitizer_get_ownership
    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:662,1
    - Dst: MallocExtension_Internal_GetProperties
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:670,1
    - Dst: MallocExtension_Internal_GetExperiments
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 677
    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:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 686
    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:690,1
    - Dst: MallocExtension_Internal_ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 694
    functionName: tcmalloc::MallocExtension::ProcessBackgroundActions
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_ProcessBackgroundActions
    - tcmalloc::MallocExtension::NeedsProcessBackgroundActions
    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: 702
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 702
    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:707,1
    - Dst: static_cast<MallocExtension::BytesPerSecond>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: tcmalloc::MallocExtension::GetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetBackgroundReleaseRate
    - static_cast<MallocExtension::BytesPerSecond>
    linkageType: ''
    returnType: MallocExtension::BytesPerSecond
    signature: MallocExtension::BytesPerSecond MallocExtension::GetBackgroundReleaseRate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rate
    argTypes:
    - BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 719
    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:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - impl
    argTypes:
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    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: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    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: 0
    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: 0
    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:
    - fetch_add
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - absl::base_internal::LowLevelAlloc::NewArena
    - absl::base_internal::LowLevelCallOnce
    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:
    - std::unique_ptr<const tcmalloc_internal::ProfileBase>
    - MallocExtension_Internal_SnapshotCurrent
    - Profile
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    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
    - std::unique_ptr<tcmalloc_internal::AllocationProfilingTokenBase>
    - MallocExtension_Internal_StartAllocationProfiling
    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:
    - MallocExtension_Internal_StartLifetimeProfiling
    - tcmalloc::tcmalloc_internal::AllocationProfilingTokenAccessor::MakeToken
    - 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:
    - absl::ZeroDuration
    - MallocExtension_Internal_GetSkipSubreleaseLongInterval
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:568,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:568,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:569,1
    - Dst: SanitizerVirtualMemoryOverhead
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:580,1
    - Dst: SanitizerMemoryUsageMultiplier
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:583,1
    - Dst: SanitizerStackSizeMultiplier
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:586,1
    - Dst: __sanitizer_get_current_allocated_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:589,1
    - Dst: __sanitizer_get_heap_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:592,1
    - Dst: __sanitizer_get_free_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:599,1
    - Dst: __sanitizer_get_unmapped_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:602,1
    - Dst: __sanitizer_get_free_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:606,1
    - Dst: __sanitizer_get_unmapped_bytes
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:606,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - property
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 611
    functionName: tcmalloc::MallocExtension::GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 1
    functionsReached:
    - SanitizerVirtualMemoryOverhead
    - SanitizerMemoryUsageMultiplier
    - SanitizerStackSizeMultiplier
    - __sanitizer_get_unmapped_bytes
    - MallocExtension_Internal_GetNumericProperty
    - absl::string_view::size
    - __sanitizer_get_current_allocated_bytes
    - __sanitizer_get_free_bytes
    - absl::string_view::data
    - __sanitizer_get_heap_size
    linkageType: ''
    returnType: std::optional<size_t>
    signature: "std::optional<size_t> MallocExtension::GetNumericProperty(\n    absl::string_view
      property)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 615
    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:620,1
    - Dst: __sanitizer_get_allocated_size
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 627
    functionName: tcmalloc::MallocExtension::GetAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetAllocatedSize
    - __sanitizer_get_allocated_size
    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:632,1
    - Dst: __sanitizer_get_ownership
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 641
    functionName: tcmalloc::MallocExtension::GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetOwnership
    - __sanitizer_get_ownership
    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:662,1
    - Dst: MallocExtension_Internal_GetProperties
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:670,1
    - Dst: MallocExtension_Internal_GetExperiments
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 677
    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:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 686
    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:690,1
    - Dst: MallocExtension_Internal_ProcessBackgroundActions
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 694
    functionName: tcmalloc::MallocExtension::ProcessBackgroundActions
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_ProcessBackgroundActions
    - tcmalloc::MallocExtension::NeedsProcessBackgroundActions
    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: 702
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 702
    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:707,1
    - Dst: static_cast<MallocExtension::BytesPerSecond>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: tcmalloc::MallocExtension::GetBackgroundReleaseRate
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 0
    functionsReached:
    - MallocExtension_Internal_GetBackgroundReleaseRate
    - static_cast<MallocExtension::BytesPerSecond>
    linkageType: ''
    returnType: MallocExtension::BytesPerSecond
    signature: MallocExtension::BytesPerSecond MallocExtension::GetBackgroundReleaseRate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocExtension_Internal_SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/malloc_extension.cc:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rate
    argTypes:
    - BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 719
    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:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: nallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.cc
    functionUses: 2
    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:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    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:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    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:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 750
    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:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 755
    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:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 760
    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:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 766
    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:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 773
    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:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    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:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 787
    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:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 793
    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:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 800
    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:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    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:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    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:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 817
    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:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    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:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    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:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 834
    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:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 840
    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:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    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:62,1
    - Dst: ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:67,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:71,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:109,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:114,1
    - Dst: tcmalloc_internal::LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:147,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:209,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:216,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:219,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:220,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:225,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:229,1
    - Dst: FreeList*::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:229,1
    - Dst: FetchFromTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:234,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:240,1
    - Dst: FreeList*::Push
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:243,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: DeallocateSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:251,1
    - Dst: GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:261,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:262,1
    - Dst: CreateCacheIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 266
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - length
    - static_cast<ssize_t>
    - tcmalloc_internal::LinkedList::TryPop
    - sizemap
    - FreeList*::Push
    - FetchFromTransferCache
    - FreeList*::TryPop
    - CreateCacheIfNecessary
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - GetCacheIfPresent
    - ABSL_LOCKS_EXCLUDED
    - ABSL_GUARDED_BY
    - tcmalloc_internal::LinkedList::PopBatch
    - load
    - ABSL_PREDICT_FALSE
    - FreeList*::max_length
    - ABSL_PREDICT_TRUE
    - FreeList*::length
    - DeallocateSlow
    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:62,1
    - Dst: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:67,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:71,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:109,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:114,1
    - Dst: tcmalloc_internal::LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:147,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:209,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:216,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:219,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 221
    functionName: tcmalloc_internal::ThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_GUARDED_BY
    - tcmalloc_internal::LinkedList::PopBatch
    - load
    - ABSL_PREDICT_FALSE
    - length
    - tcmalloc_internal::LinkedList::TryPop
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    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: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    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: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    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: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    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:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    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:112,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ret
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::FreeList::TryPop
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - length
    - tcmalloc_internal::LinkedList::TryPop
    - ABSL_PREDICT_TRUE
    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:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - N
    - batch
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    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:225,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:229,1
    - Dst: FreeList*::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:229,1
    - Dst: tcmalloc_internal::ThreadCache::FetchFromTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 235
    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:240,1
    - Dst: FreeList*::Push
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:243,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: DeallocateSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 253
    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*::length
    - FreeList*::Push
    - DeallocateSlow
    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: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    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:261,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:262,1
    - Dst: tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::ThreadCache::GetCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
    - GetCacheIfPresent
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache * ThreadCache::GetCache()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:62,1
    - Dst: tcmalloc_internal::ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:67,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:71,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:109,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:112,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:114,1
    - Dst: tcmalloc_internal::LinkedList::PopBatch
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:147,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:209,1
    - Dst: tcmalloc_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:216,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:219,1
    - Dst: ABSL_GUARDED_BY
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 221
    functionName: tcmalloc_internal::ThreadCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_GUARDED_BY
    - tcmalloc_internal::LinkedList::PopBatch
    - load
    - ABSL_PREDICT_FALSE
    - length
    - tcmalloc_internal::LinkedList::TryPop
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    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: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    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: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    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: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    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:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    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:112,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:113,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ret
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::FreeList::TryPop
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - length
    - tcmalloc_internal::LinkedList::TryPop
    - ABSL_PREDICT_TRUE
    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:120,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - N
    - batch
    argTypes:
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    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:225,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:229,1
    - Dst: FreeList*::TryPop
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:229,1
    - Dst: tcmalloc_internal::ThreadCache::FetchFromTransferCache
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 235
    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:240,1
    - Dst: FreeList*::Push
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:243,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: FreeList*::max_length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: FreeList*::length
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:245,1
    - Dst: DeallocateSlow
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 253
    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*::length
    - FreeList*::Push
    - DeallocateSlow
    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: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    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:261,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:262,1
    - Dst: tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
      Src: /src/tcmalloc/tcmalloc/thread_cache.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::ThreadCache::GetCache
    functionSourceFile: /src/tcmalloc/tcmalloc/thread_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::CreateCacheIfNecessary
    - GetCacheIfPresent
    - ABSL_PREDICT_TRUE
    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::ok
    - absl::InternalError
    - google::protobuf::io::GzipOutputStream::Close
    - auto::status
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - 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::ok
    - absl::InternalError
    - google::protobuf::io::GzipOutputStream::Close
    - auto::status
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - 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:
    - ~T
    - reinterpret_cast<T*>
    - NewWithSize
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - LockAndDeleteMemory
    - Alloc
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<T**>
    - ASAN_UNPOISON_MEMORY_REGION
    - static_cast<std::align_val_t>
    - std::forward<Args>
    - TC_ASSERT_GE
    - ASAN_POISON_MEMORY_REGION
    - LockAndAllocMemory
    - static_cast<size_t>
    - reinterpret_cast<void**>
    - T::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:
    - ' 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:
    - static_cast<std::align_val_t>
    - std::forward<Args>
    - tcmalloc_internal::MetadataObjectAllocator::NewWithSize
    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:
    - ~T
    - LockAndDeleteMemory
    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:
    - reinterpret_cast<T*>
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - Alloc
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<T**>
    - ASAN_UNPOISON_MEMORY_REGION
    - TC_ASSERT_GE
    - static_cast<size_t>
    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:
    - static_cast<std::align_val_t>
    - std::forward<Args>
    - tcmalloc_internal::MetadataObjectAllocator::NewWithSize
    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:
    - ~T
    - LockAndDeleteMemory
    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:
    - reinterpret_cast<T*>
    - ABSL_ANNOTATE_MEMORY_IS_UNINITIALIZED
    - Alloc
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<T**>
    - ASAN_UNPOISON_MEMORY_REGION
    - TC_ASSERT_GE
    - static_cast<size_t>
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:42,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:43,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:64,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:77,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:87,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:87,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:97,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:98,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:99,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:99,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:100,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:100,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:111,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:121,1
    - Dst: CentralFreelistEnv::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:128,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:129,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:129,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:131,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:131,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:138,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:139,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:140,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:141,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:144,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:145,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:149,1
    - Dst: CentralFreelistEnv::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:154,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:154,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:161,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:164,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:165,1
    - Dst: FUZZ_TEST
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 174
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::insert
    - memcpy
    - std::vector::begin
    - CHECK_EQ
    - std::min<size_t>
    - tcmalloc_internal::SpanStats::num_live_spans
    - CHECK_GT
    - absl::Milliseconds
    - std::string::resize
    - FUZZ_TEST
    - CentralFreelistEnv::central_freelist
    - std::vector::resize
    - std::min
    - size
    - absl::MakeSpan
    - std::vector::end
    - CentralFreelistEnv::objects_per_span
    - std::vector::size
    - std::shuffle
    - std::string::size
    - std::vector::empty
    - CentralFreelistEnv::forwarder
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:42,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:43,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:64,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:77,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:87,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:87,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:97,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:98,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:99,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:99,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:100,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:100,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:111,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:121,1
    - Dst: CentralFreelistEnv::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:128,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:129,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:129,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:131,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:131,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:138,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:139,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:140,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:141,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:144,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:145,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:149,1
    - Dst: CentralFreelistEnv::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:154,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:154,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:161,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:164,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:165,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 168
    functionName: FuzzCFL
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::insert
    - memcpy
    - std::vector::begin
    - CHECK_EQ
    - std::min<size_t>
    - tcmalloc_internal::SpanStats::num_live_spans
    - CHECK_GT
    - absl::Milliseconds
    - std::string::resize
    - CentralFreelistEnv::central_freelist
    - std::vector::resize
    - std::min
    - size
    - absl::MakeSpan
    - std::vector::end
    - CentralFreelistEnv::objects_per_span
    - std::vector::size
    - std::shuffle
    - std::string::size
    - std::vector::empty
    - CentralFreelistEnv::forwarder
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: void FuzzCFL(const std::string& s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:42,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:43,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:64,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:77,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:87,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:87,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:88,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:94,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:97,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:98,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:99,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:99,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:100,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:100,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:111,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:112,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:114,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:121,1
    - Dst: CentralFreelistEnv::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:125,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:126,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:128,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:129,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:129,1
    - Dst: CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:131,1
    - Dst: tcmalloc_internal::SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:131,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:138,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:139,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:140,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:141,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:144,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:145,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:149,1
    - Dst: CentralFreelistEnv::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:154,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:154,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:161,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:164,1
    - Dst: CentralFreelistEnv::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc:165,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 168
    functionName: FuzzCFL
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - std::vector::insert
    - memcpy
    - std::vector::begin
    - CHECK_EQ
    - std::min<size_t>
    - tcmalloc_internal::SpanStats::num_live_spans
    - CHECK_GT
    - absl::Milliseconds
    - std::string::resize
    - CentralFreelistEnv::central_freelist
    - std::vector::resize
    - std::min
    - size
    - absl::MakeSpan
    - std::vector::end
    - CentralFreelistEnv::objects_per_span
    - std::vector::size
    - std::shuffle
    - std::string::size
    - std::vector::empty
    - CentralFreelistEnv::forwarder
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: void FuzzCFL(const std::string& s)
  - BBCount: 25
    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:111,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:127,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:128,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:131,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:142,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:167,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:168,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:171,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:172,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:177,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:180,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:180,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:181,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:190,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:191,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:192,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:200,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:201,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:209,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:217,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:218,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:222,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:226,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:231,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:238,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:242,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:247,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/pagemap.h:254,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:263,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:263,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:266,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:325,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:347,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:348,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:349,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:352,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:366,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:393,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:394,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:395,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:396,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:399,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:400,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:401,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:405,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:411,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:421,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:422,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:423,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:424,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:433,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:434,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:435,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:451,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:452,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:456,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:461,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:466,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:474,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:479,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:481,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:486,1
    - Dst: reinterpret_cast<Node*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:503,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:503,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:506,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:512,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:512,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:515,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:542,1
    - Dst: set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:545,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:545,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/pagemap.h:549,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:549,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/pagemap.h:549,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/pagemap.h:570,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:570,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:575,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:584,1
    - Dst: get_existing
      Src: /src/tcmalloc/tcmalloc/pagemap.h:592,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:592,1
    - Dst: bytes_used
      Src: /src/tcmalloc/tcmalloc/pagemap.h:596,1
    - Dst: get_hugepage
      Src: /src/tcmalloc/tcmalloc/pagemap.h:600,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:600,1
    - Dst: set_hugepage
      Src: /src/tcmalloc/tcmalloc/pagemap.h:603,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:603,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:620,1
    - Dst: get_next_set_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:621,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:621,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:622,1
    - Dst: GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.h:623,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:624,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:628,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:628,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:629,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:630,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:630,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/pagemap.h:635,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/pagemap.h:635,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/pagemap.h:636,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:637,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:637,1
    - Dst: Static::sizemap
      Src: /src/tcmalloc/tcmalloc/pagemap.h:638,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:641,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 205
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 655
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - capacity
    - n::raw_num
    - span
    - GetDescriptor
    - PackedSpanAndSizeclass::span
    - memset
    - set_hugepage
    - reinterpret_cast<Leaf*>
    - get_existing
    - set
    - TC_ASSERT_EQ
    - static_cast<CompactSizeClass>
    - p::index
    - get
    - std::make_pair
    - get_next_set_page
    - Number
    - PackedSpanAndSizeclass::sizeclass
    - push_back
    - TC_ASSERT_GT
    - bytes_used
    - TC_ASSERT_NE
    - size
    - static_cast<uintptr_t>
    - std::optional::value
    - std::optional::has_value
    - Ensure
    - invalid_span
    - Span*::last_page
    - Span*::bytes_in_span
    - reinterpret_cast<Node*>
    - Static::sizemap
    - reinterpret_cast<uintptr_t>
    - index
    - ABSL_PREDICT_FALSE
    - sizeclass
    - Span*::first_page
    - get_hugepage
    - reinterpret_cast<Span*>
    - Allocator
    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:
    - absl_nullable
    - 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:
    - reinterpret_cast<uintptr_t>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set(Span* absl_nullable 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: void
    signature: void 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:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc_internal::PageMap2::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: void
    signature: void span(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    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: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:127,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:128,1
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::PageMap2::get
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: void
    signature: void get(Number k) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 146
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:167,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:168,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:171,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:172,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:177,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:180,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:180,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::PageMap2::get_existing_with_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - PackedSpanAndSizeclass::span
    - ABSL_PREDICT_FALSE
    - Number
    - PackedSpanAndSizeclass::sizeclass
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: std::pair<Span* absl_nullable, int>
    signature: "std::pair<Span* absl_nullable, int> get_existing_with_sizeclass(\n
      \     Number k) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:190,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:191,1
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: tcmalloc_internal::PageMap2::get_existing
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap2::span
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void get_existing(Number k) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:200,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::PageMap2::sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void sizeclass(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:209,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:217,1
    - Dst: tcmalloc_internal::PageMap2::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - Number
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    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:222,1
    - Dst: tcmalloc_internal::PageMap2::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - k
    - s
    - sc
    argTypes:
    - Number
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 228
    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:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:238,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    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:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    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:254,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:263,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:263,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - Number
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: tcmalloc_internal::PageMap2::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Leaf*>
    - Allocator
    - TC_ASSERT_GT
    - 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: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    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: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    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: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    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:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::PageMap3::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: void
    signature: void span(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    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: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:347,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:348,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:349,1
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: tcmalloc_internal::PageMap3::get
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: void
    signature: void get(Number k) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 372
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:393,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:394,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:395,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:396,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:399,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:400,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:401,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:405,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 412
    functionName: tcmalloc_internal::PageMap3::get_existing_with_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - PackedSpanAndSizeclass::span
    - ABSL_PREDICT_FALSE
    - Number
    - PackedSpanAndSizeclass::sizeclass
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: std::pair<Span* absl_nullable, int>
    signature: "std::pair<Span* absl_nullable, int> get_existing_with_sizeclass(\n
      \     Number k) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:421,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:422,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:423,1
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: tcmalloc_internal::PageMap3::get_existing
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void get_existing(Number k) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:433,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:434,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: tcmalloc_internal::PageMap3::sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void sizeclass(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:451,1
    - Dst: tcmalloc_internal::PageMap3::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - Number
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 453
    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:456,1
    - Dst: tcmalloc_internal::PageMap3::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - k
    - s
    - sc
    argTypes:
    - Number
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 463
    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:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 471
    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:474,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:479,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 483
    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:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 491
    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:503,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:503,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:506,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:512,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:512,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - Number
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 523
    functionName: tcmalloc_internal::PageMap3::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Node*>
    - reinterpret_cast<Leaf*>
    - 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: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    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: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    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: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    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: 533
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 533
    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: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: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    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:545,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    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:549,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:549,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/pagemap.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 550
    functionName: tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - p::index
    - Ensure
    - n::raw_num
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      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: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: tcmalloc_internal::PageMap::GetDescriptor
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    - get
    linkageType: ''
    returnType: void
    signature: void GetDescriptor(PageId p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: tcmalloc_internal::PageMap::GetDescriptorAndSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    linkageType: ''
    returnType: std::pair<Span* absl_nullable, CompactSizeClass>
    signature: std::pair<Span* absl_nullable, CompactSizeClass> GetDescriptorAndSizeClass(PageId
      p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: tcmalloc_internal::PageMap::GetExistingDescriptorAndSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - 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:592,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: tcmalloc_internal::PageMap::GetExistingDescriptor
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    - get_existing
    linkageType: ''
    returnType: void
    signature: void GetExistingDescriptor(PageId p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_used
      Src: /src/tcmalloc/tcmalloc/pagemap.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    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:600,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    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:603,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - PageId
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    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:620,1
    - Dst: get_next_set_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:621,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:621,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:622,1
    - Dst: tcmalloc_internal::PageMap::GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.h:623,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:624,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:628,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:628,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:629,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:630,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:630,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/pagemap.h:635,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/pagemap.h:635,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/pagemap.h:636,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:637,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:637,1
    - Dst: Static::sizemap
      Src: /src/tcmalloc/tcmalloc/pagemap.h:638,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - ' allocated_spans'
    argTypes:
    - "std::vector<tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::\n
      \                     SpanDetails>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 644
    functionName: tcmalloc_internal::PageMap::GetAllocatedSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - capacity
    - size
    - tcmalloc_internal::PageMap::GetDescriptor
    - get_next_set_page
    - std::optional::value
    - std::optional::has_value
    - invalid_span
    - sizeclass
    - Span*::first_page
    - Span*::last_page
    - Span*::bytes_in_span
    - TC_ASSERT_EQ
    - push_back
    - Static::sizemap
    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:
    - absl_nullable
    - 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:
    - reinterpret_cast<uintptr_t>
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void set(Span* absl_nullable 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: void
    signature: void 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:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: tcmalloc_internal::PageMap2::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: void
    signature: void span(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    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: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:127,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:128,1
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: tcmalloc_internal::PageMap2::get
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageMap2::span
    linkageType: ''
    returnType: void
    signature: void get(Number k) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 146
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:166,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:167,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:168,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:171,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:172,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:177,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:180,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:180,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 182
    functionName: tcmalloc_internal::PageMap2::get_existing_with_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - PackedSpanAndSizeclass::span
    - ABSL_PREDICT_FALSE
    - Number
    - PackedSpanAndSizeclass::sizeclass
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: std::pair<Span* absl_nullable, int>
    signature: "std::pair<Span* absl_nullable, int> get_existing_with_sizeclass(\n
      \     Number k) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:190,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:191,1
    - Dst: tcmalloc_internal::PageMap2::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: tcmalloc_internal::PageMap2::get_existing
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - tcmalloc_internal::PageMap2::span
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void get_existing(Number k) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:200,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::PageMap2::sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void sizeclass(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:209,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:217,1
    - Dst: tcmalloc_internal::PageMap2::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - Number
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    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:222,1
    - Dst: tcmalloc_internal::PageMap2::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - k
    - s
    - sc
    argTypes:
    - Number
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 228
    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:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:238,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    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:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    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:254,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:263,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:263,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - Number
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: tcmalloc_internal::PageMap2::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Leaf*>
    - Allocator
    - TC_ASSERT_GT
    - 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: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    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: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    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: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    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:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: tcmalloc_internal::PageMap3::span
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: void
    signature: void span(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    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: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:347,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:348,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:349,1
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: tcmalloc_internal::PageMap3::get
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageMap3::span
    linkageType: ''
    returnType: void
    signature: void get(Number k) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 372
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:393,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:394,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:395,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:396,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:399,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:400,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:401,1
    - Dst: Number
      Src: /src/tcmalloc/tcmalloc/pagemap.h:405,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    - Dst: PackedSpanAndSizeclass::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:410,1
    - Dst: PackedSpanAndSizeclass::sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 412
    functionName: tcmalloc_internal::PageMap3::get_existing_with_sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - PackedSpanAndSizeclass::span
    - ABSL_PREDICT_FALSE
    - Number
    - PackedSpanAndSizeclass::sizeclass
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: std::pair<Span* absl_nullable, int>
    signature: "std::pair<Span* absl_nullable, int> get_existing_with_sizeclass(\n
      \     Number k) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:421,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:422,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:423,1
    - Dst: tcmalloc_internal::PageMap3::span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: tcmalloc_internal::PageMap3::get_existing
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageMap3::span
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void get_existing(Number k) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:433,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:434,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: tcmalloc_internal::PageMap3::sizeclass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void sizeclass(Number k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:451,1
    - Dst: tcmalloc_internal::PageMap3::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - Number
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 453
    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:456,1
    - Dst: tcmalloc_internal::PageMap3::set
      Src: /src/tcmalloc/tcmalloc/pagemap.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - k
    - s
    - sc
    argTypes:
    - Number
    - Span*
    - CompactSizeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 463
    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:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 471
    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:474,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:479,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pagemap.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 483
    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:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 491
    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:503,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:503,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:506,1
    - Dst: reinterpret_cast<Leaf*>
      Src: /src/tcmalloc/tcmalloc/pagemap.h:512,1
    - Dst: Allocator
      Src: /src/tcmalloc/tcmalloc/pagemap.h:512,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/pagemap.h:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - Number
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 523
    functionName: tcmalloc_internal::PageMap3::Ensure
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Node*>
    - reinterpret_cast<Leaf*>
    - 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: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    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: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    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: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    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: 533
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 533
    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: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: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    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:545,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    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:549,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:549,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/pagemap.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 550
    functionName: tcmalloc_internal::PageMap::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - p::index
    - Ensure
    - n::raw_num
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      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: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: tcmalloc_internal::PageMap::GetDescriptor
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 1
    functionsReached:
    - PageId::index
    - get
    linkageType: ''
    returnType: void
    signature: void GetDescriptor(PageId p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: tcmalloc_internal::PageMap::GetDescriptorAndSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    linkageType: ''
    returnType: std::pair<Span* absl_nullable, CompactSizeClass>
    signature: std::pair<Span* absl_nullable, CompactSizeClass> GetDescriptorAndSizeClass(PageId
      p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: tcmalloc_internal::PageMap::GetExistingDescriptorAndSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - 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:592,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: tcmalloc_internal::PageMap::GetExistingDescriptor
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - PageId::index
    - get_existing
    linkageType: ''
    returnType: void
    signature: void GetExistingDescriptor(PageId p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_used
      Src: /src/tcmalloc/tcmalloc/pagemap.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    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:600,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    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:603,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/pagemap.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - PageId
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    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:620,1
    - Dst: get_next_set_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:621,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:621,1
    - Dst: std::optional::value
      Src: /src/tcmalloc/tcmalloc/pagemap.h:622,1
    - Dst: tcmalloc_internal::PageMap::GetDescriptor
      Src: /src/tcmalloc/tcmalloc/pagemap.h:623,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:624,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:628,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:628,1
    - Dst: sizeclass
      Src: /src/tcmalloc/tcmalloc/pagemap.h:629,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/pagemap.h:630,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:630,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/pagemap.h:635,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/pagemap.h:635,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/pagemap.h:636,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:637,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/pagemap.h:637,1
    - Dst: Static::sizemap
      Src: /src/tcmalloc/tcmalloc/pagemap.h:638,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/pagemap.h:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - ' allocated_spans'
    argTypes:
    - "std::vector<tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::\n
      \                     SpanDetails>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 644
    functionName: tcmalloc_internal::PageMap::GetAllocatedSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/pagemap.h
    functionUses: 0
    functionsReached:
    - capacity
    - size
    - tcmalloc_internal::PageMap::GetDescriptor
    - get_next_set_page
    - std::optional::value
    - std::optional::has_value
    - invalid_span
    - sizeclass
    - Span*::first_page
    - Span*::last_page
    - Span*::bytes_in_span
    - TC_ASSERT_EQ
    - push_back
    - Static::sizemap
    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: 66
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 66
    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:102,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:107,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - text
    - absl_nonnull
    argTypes:
    - absl::string_view
    - tcmalloc::hot_cold_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    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,\n                          tcmalloc::hot_cold_t*
      absl_nonnull hotness,\n                          std::string* /* error */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hotness
    argTypes:
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    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: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    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: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    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: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    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: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: '& operator=(const Profile&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile
    signature: Profile & operator=(const Profile&)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:260,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:263,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' sink'
    - ' t'
    argTypes:
    - Sink
    - AllocationType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: tcmalloc::Profile::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                              const
      AllocationType& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    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: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    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: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: ~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: 3
    argNames:
    - absl_nonnull
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: tcmalloc::AddressRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Create(void* absl_nonnull start_addr,\n                                             size_t
      size, UsageHint hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    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: 571
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 571
    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: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    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: 645
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 645
    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: 646
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 646
    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: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    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: 651
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 651
    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: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    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: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    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: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    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: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: '& operator=(const Profile&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile
    signature: Profile & operator=(const Profile&)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:260,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:263,1
    - Dst: Append
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' sink'
    - ' t'
    argTypes:
    - Sink
    - AllocationType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: tcmalloc::Profile::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                              const
      AllocationType& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    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: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    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: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: ~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: 3
    argNames:
    - absl_nonnull
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: tcmalloc::AddressRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/malloc_extension.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Create(void* absl_nonnull start_addr,\n                                             size_t
      size, UsageHint hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    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: 571
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 571
    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: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    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: 645
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 645
    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: 646
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 646
    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: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    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: 651
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 651
    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:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 796
    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:802,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: 803
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 803
    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:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 816
    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:823,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: 824
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 824
    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: 865
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 865
    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: 879
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 879
    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: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    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: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    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
    - absl_nonnull
    argTypes:
    - absl::string_view
    - MadvisePreference*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 938
    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,\n                          MadvisePreference*
      absl_nonnull preference,\n                          std::string* /* error */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - preference
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 954
    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: 879
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 879
    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: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    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: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    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
    - absl_nonnull
    argTypes:
    - absl::string_view
    - MadvisePreference*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 938
    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,\n                          MadvisePreference*
      absl_nonnull preference,\n                          std::string* /* error */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - preference
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 954
    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: 879
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 879
    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: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    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: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    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
    - absl_nonnull
    argTypes:
    - absl::string_view
    - MadvisePreference*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 938
    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,\n                          MadvisePreference*
      absl_nonnull preference,\n                          std::string* /* error */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - preference
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 954
    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: 879
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 879
    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: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    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: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    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
    - absl_nonnull
    argTypes:
    - absl::string_view
    - MadvisePreference*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 938
    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,\n                          MadvisePreference*
      absl_nonnull preference,\n                          std::string* /* error */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/malloc_extension.h:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - preference
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 954
    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:
    - absl::ToDoubleSeconds
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::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: 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:
    - Report
    - NHugePages
    - 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:
    - Report
    - Length
    - NHugePages
    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:
    - StrEq
    - GenerateInterestingPoints
    - Printer::SpaceRequired
    - Advance
    - Length
    - std::string::begin
    - EXPECT_THAT
    - NHugePages
    - std::string::erase
    - absl::Minutes
    - Print
    - std::string::size
    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:
    - absl::InfiniteDuration
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - GetRecentPeak
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - EXPECT_EQ
    - absl::ZeroDuration
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - RealizedFragmentation
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - absl::ToDoubleSeconds
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::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: 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:
    - Report
    - NHugePages
    - 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:
    - Report
    - Length
    - NHugePages
    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:
    - StrEq
    - GenerateInterestingPoints
    - Printer::SpaceRequired
    - Advance
    - Length
    - std::string::begin
    - EXPECT_THAT
    - NHugePages
    - std::string::erase
    - absl::Minutes
    - Print
    - std::string::size
    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:
    - absl::InfiniteDuration
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - GetRecentPeak
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - EXPECT_EQ
    - absl::ZeroDuration
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - RealizedFragmentation
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - absl::ToDoubleSeconds
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::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: 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:
    - Report
    - NHugePages
    - 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:
    - Report
    - Length
    - NHugePages
    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:
    - StrEq
    - GenerateInterestingPoints
    - Printer::SpaceRequired
    - Advance
    - Length
    - std::string::begin
    - EXPECT_THAT
    - NHugePages
    - std::string::erase
    - absl::Minutes
    - Print
    - std::string::size
    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:
    - absl::InfiniteDuration
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - GetRecentPeak
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - EXPECT_EQ
    - absl::ZeroDuration
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - RealizedFragmentation
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - absl::ToDoubleSeconds
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::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: 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:
    - Report
    - NHugePages
    - 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:
    - Report
    - Length
    - NHugePages
    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:
    - StrEq
    - GenerateInterestingPoints
    - Printer::SpaceRequired
    - Advance
    - Length
    - std::string::begin
    - EXPECT_THAT
    - NHugePages
    - std::string::erase
    - absl::Minutes
    - Print
    - std::string::size
    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:
    - absl::InfiniteDuration
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - GetRecentPeak
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - EXPECT_EQ
    - absl::ZeroDuration
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - RealizedFragmentation
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - absl::ToDoubleSeconds
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::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: 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:
    - Report
    - NHugePages
    - 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:
    - Report
    - Length
    - NHugePages
    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:
    - StrEq
    - GenerateInterestingPoints
    - Printer::SpaceRequired
    - Advance
    - Length
    - std::string::begin
    - EXPECT_THAT
    - NHugePages
    - std::string::erase
    - absl::Minutes
    - Print
    - std::string::size
    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:
    - absl::InfiniteDuration
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - GetRecentPeak
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - EXPECT_EQ
    - absl::ZeroDuration
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - RealizedFragmentation
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - absl::ToDoubleSeconds
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::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: 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:
    - Report
    - NHugePages
    - 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:
    - Report
    - Length
    - NHugePages
    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:
    - StrEq
    - GenerateInterestingPoints
    - Printer::SpaceRequired
    - Advance
    - Length
    - std::string::begin
    - EXPECT_THAT
    - NHugePages
    - std::string::erase
    - absl::Minutes
    - Print
    - std::string::size
    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:
    - absl::InfiniteDuration
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - GetRecentPeak
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - EXPECT_EQ
    - absl::ZeroDuration
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - RealizedFragmentation
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - absl::ToDoubleSeconds
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::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: 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:
    - Report
    - NHugePages
    - 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:
    - Report
    - Length
    - NHugePages
    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:
    - StrEq
    - GenerateInterestingPoints
    - Printer::SpaceRequired
    - Advance
    - Length
    - std::string::begin
    - EXPECT_THAT
    - NHugePages
    - std::string::erase
    - absl::Minutes
    - Print
    - std::string::size
    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:
    - absl::InfiniteDuration
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - GetRecentPeak
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - EXPECT_EQ
    - absl::ZeroDuration
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - RealizedFragmentation
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - absl::ToDoubleSeconds
    - static_cast<int64_t>
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::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: 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:
    - Report
    - NHugePages
    - 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:
    - Report
    - Length
    - NHugePages
    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:
    - StrEq
    - GenerateInterestingPoints
    - Printer::SpaceRequired
    - Advance
    - Length
    - std::string::begin
    - EXPECT_THAT
    - NHugePages
    - std::string::erase
    - absl::Minutes
    - Print
    - std::string::size
    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:
    - absl::InfiniteDuration
    - min_free_pages
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - GetRecentPeak
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - EXPECT_EQ
    - absl::ZeroDuration
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - GetRecentDemand
    - absl::Minutes
    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:
    - EXPECT_EQ
    - RealizedFragmentation
    - Advance
    - GenerateDemandPoint
    - Length
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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:
    - total_skipped
    - EXPECT_EQ
    - Advance
    - GenerateDemandPoint
    - Length
    - correctly_skipped
    - pending_skipped
    - ReportSkippedSubreleasePages
    - absl::Minutes
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    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:110,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - testing::UnorderedElementsAreArray
    - Iterate
    - EXPECT_THAT
    - std::vector::push_back
    - ASSERT_LE
    - std::copy
    - ABSL_ARRAYSIZE
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:138,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:147,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:151,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:152,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:153,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:158,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: reinterpret_cast<void*>
      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:178,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:185,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:187,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:206,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:212,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:226,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:257,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:266,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:269,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:272,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:281,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:285,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:292,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:298,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:299,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:318,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:325,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:330,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:331,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:332,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:337,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:338,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:339,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:370,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:371,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:372,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:377,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:378,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:393,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:393,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:398,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:401,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 407
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddTrace
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - static_cast<uintptr_t>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - InitIfNecessary
    - SCOPED_TRACE
    - static_cast<std::align_val_t>
    - static_cast<double>
    - StackTraceTable::depth_total
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    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:110,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    - testing::UnorderedElementsAreArray
    - Iterate
    - EXPECT_THAT
    - std::vector::push_back
    - ASSERT_LE
    - std::copy
    - ABSL_ARRAYSIZE
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:138,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:147,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:151,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:152,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:153,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:158,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: reinterpret_cast<void*>
      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:178,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:185,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:187,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:206,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:212,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:226,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:257,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:266,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:269,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:272,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:281,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:285,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:292,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:298,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:299,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:318,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:325,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:330,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:331,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:332,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:337,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:338,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:339,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:370,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:371,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:372,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:377,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:378,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:393,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:393,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:398,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:401,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 407
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddTrace
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - static_cast<uintptr_t>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - InitIfNecessary
    - SCOPED_TRACE
    - static_cast<std::align_val_t>
    - static_cast<double>
    - StackTraceTable::depth_total
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    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:110,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    - testing::UnorderedElementsAreArray
    - Iterate
    - EXPECT_THAT
    - std::vector::push_back
    - ASSERT_LE
    - std::copy
    - ABSL_ARRAYSIZE
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:138,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:147,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:151,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:152,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:153,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:158,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: reinterpret_cast<void*>
      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:178,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:185,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:187,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:206,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:212,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:226,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:257,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:266,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:269,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:272,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:281,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:285,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:292,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:298,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:299,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:318,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:325,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:330,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:331,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:332,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:337,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:338,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:339,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:370,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:371,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:372,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:377,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:378,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:393,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:393,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:398,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:401,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 407
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddTrace
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - static_cast<uintptr_t>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - InitIfNecessary
    - SCOPED_TRACE
    - static_cast<std::align_val_t>
    - static_cast<double>
    - StackTraceTable::depth_total
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    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:110,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    - testing::UnorderedElementsAreArray
    - Iterate
    - EXPECT_THAT
    - std::vector::push_back
    - ASSERT_LE
    - std::copy
    - ABSL_ARRAYSIZE
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:138,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:147,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:151,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:152,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:153,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:158,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: reinterpret_cast<void*>
      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:178,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:185,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:187,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:206,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:212,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:226,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:257,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:266,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:269,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:272,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:281,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:285,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:292,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:298,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:299,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:318,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:325,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:330,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:331,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:332,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:337,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:338,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:339,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:370,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:371,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:372,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:377,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:378,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:393,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:393,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:398,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:401,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 407
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddTrace
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - static_cast<uintptr_t>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - InitIfNecessary
    - SCOPED_TRACE
    - static_cast<std::align_val_t>
    - static_cast<double>
    - StackTraceTable::depth_total
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    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:110,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 4
    functionsReached:
    - static_cast<uint8_t>
    - testing::UnorderedElementsAreArray
    - Iterate
    - EXPECT_THAT
    - std::vector::push_back
    - ASSERT_LE
    - std::copy
    - ABSL_ARRAYSIZE
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:138,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:147,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:151,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:152,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:153,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:158,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: reinterpret_cast<void*>
      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:178,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:185,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:187,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:206,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:212,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:226,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:257,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:266,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:269,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:272,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:281,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:285,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:292,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:298,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:299,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:318,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:325,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:330,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:331,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:332,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:337,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:338,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:339,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:370,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:371,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:372,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:377,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:378,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:393,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:393,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:398,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:401,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 407
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddTrace
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - static_cast<uintptr_t>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - InitIfNecessary
    - SCOPED_TRACE
    - static_cast<std::align_val_t>
    - static_cast<double>
    - StackTraceTable::depth_total
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    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:110,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 5
    functionsReached:
    - static_cast<uint8_t>
    - testing::UnorderedElementsAreArray
    - Iterate
    - EXPECT_THAT
    - std::vector::push_back
    - ASSERT_LE
    - std::copy
    - ABSL_ARRAYSIZE
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:138,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:147,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:151,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:152,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:153,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:158,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: reinterpret_cast<void*>
      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:178,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:185,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:187,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:206,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:212,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:226,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:257,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:266,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:269,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:272,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:281,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:285,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:292,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:298,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:299,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:318,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:325,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:330,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:331,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:332,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:337,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:338,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:339,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:370,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:371,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:372,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:377,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:378,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:393,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:393,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:398,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:401,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 407
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddTrace
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - static_cast<uintptr_t>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - InitIfNecessary
    - SCOPED_TRACE
    - static_cast<std::align_val_t>
    - static_cast<double>
    - StackTraceTable::depth_total
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    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:110,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint8_t>
    - testing::UnorderedElementsAreArray
    - Iterate
    - EXPECT_THAT
    - std::vector::push_back
    - ASSERT_LE
    - std::copy
    - ABSL_ARRAYSIZE
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:138,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:147,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:151,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:152,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:153,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:158,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: reinterpret_cast<void*>
      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:178,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:185,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:187,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:206,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:212,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:226,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:257,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:266,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:269,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:272,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:281,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:285,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:292,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:298,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:299,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:318,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:325,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:330,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:331,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:332,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:337,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:338,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:339,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:370,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:371,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:372,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:377,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:378,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:393,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:393,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:398,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:401,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 407
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddTrace
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - static_cast<uintptr_t>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - InitIfNecessary
    - SCOPED_TRACE
    - static_cast<std::align_val_t>
    - static_cast<double>
    - StackTraceTable::depth_total
    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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - AllocationEntry
    - AllocationEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    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:110,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:115,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:116,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:122,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' table'
    - expected
    argTypes:
    - StackTraceTable
    - std::initializer_list<AllocationEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: tcmalloc::tcmalloc_internal::CheckTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 7
    functionsReached:
    - static_cast<uint8_t>
    - testing::UnorderedElementsAreArray
    - Iterate
    - EXPECT_THAT
    - std::vector::push_back
    - ASSERT_LE
    - std::copy
    - ABSL_ARRAYSIZE
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - count
    - ' t'
    argTypes:
    - StackTraceTable*
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:138,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:145,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:147,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:151,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:152,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:153,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:158,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:159,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:160,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:174,1
    - Dst: reinterpret_cast<void*>
      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:178,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:180,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:185,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:187,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:201,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:206,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:210,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:212,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:226,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:238,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:247,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:249,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:254,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:257,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:259,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:261,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:266,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:269,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:271,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:272,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:278,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:281,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:283,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:285,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:290,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:292,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:298,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:299,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:318,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:321,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:325,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:330,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:331,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:332,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:337,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:338,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:339,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:353,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:358,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:361,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:363,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:365,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:370,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:371,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:372,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:377,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:378,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:393,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:393,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:398,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:401,1
    - Dst: tcmalloc::tcmalloc_internal::AddTrace
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: StackTraceTable::depth_total
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:403,1
    - Dst: tcmalloc::tcmalloc_internal::CheckTraces
      Src: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 407
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddTrace
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - static_cast<uintptr_t>
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckTraces
    - InitIfNecessary
    - SCOPED_TRACE
    - static_cast<std::align_val_t>
    - static_cast<double>
    - StackTraceTable::depth_total
    linkageType: ''
    returnType: void
    signature: void TEST(StackTraceTableTest, StackTraceTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:42,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - insert
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:62,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:63,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:77,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:77,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:79,1
    - Dst: MockUnback::released_::reserve
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:82,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:82,1
    - Dst: MockUnback::released_::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:84,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:91,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:97,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:104,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:104,1
    - Dst: HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:107,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:111,1
    - Dst: MockUnback::released_::find
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:117,1
    - Dst: MockUnback::released_::end
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:118,1
    - Dst: MockUnback::released_::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:119,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:124,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:140,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:145,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:145,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HugeRegion::Release
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:157,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:160,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:160,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:164,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:164,1
    - Dst: HugeRegion::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:170,1
    - Dst: HugeRegion::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:173,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:188,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:196,1
    - Dst: HugeRegion::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:199,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:208,1
    - Dst: HugeRegion::Print
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:209,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:221,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:230,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:231,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:234,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:238,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:242,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:245,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::FuzzRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - TC_CHECK_LE
    - HugeRegion::MaybeGet
    - HugeRegion::stats
    - memcpy
    - HugeRegion::free_backed
    - MockUnback::released_::end
    - TC_CHECK_GT
    - CHECK_LE
    - TC_CHECK_EQ
    - std::vector::pop_back
    - HugeRegion::PrintInPbtxt
    - MockUnback::released_::find
    - MockUnback::released_::reserve
    - Length
    - std::string::resize
    - std::vector::emplace_back
    - MockUnback::released_::erase
    - swap
    - std::vector::resize
    - std::min
    - CHECK
    - std::max<size_t>
    - MockUnback::released_::insert
    - run_dsl
    - reinterpret_cast<void*>
    - size
    - HugeRegion::size
    - HugePageContaining
    - std::vector::back
    - HugeRegion::Print
    - std::vector::size
    - std::string::size
    - HLFromPages
    - Printer::SpaceRequired
    - std::vector::empty
    - HugePage::first_page
    - HugeRegion::Release
    - NHugePages
    - HugeRegion::Put
    - HugeRegion::AddSpanStats
    - 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:253,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 262
    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:42,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - insert
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:62,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:63,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:77,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:77,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:79,1
    - Dst: MockUnback::released_::reserve
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:82,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:82,1
    - Dst: MockUnback::released_::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:84,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:91,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:97,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:104,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:104,1
    - Dst: HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:107,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:111,1
    - Dst: MockUnback::released_::find
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:117,1
    - Dst: MockUnback::released_::end
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:118,1
    - Dst: MockUnback::released_::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:119,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:124,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:140,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:145,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:145,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HugeRegion::Release
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:157,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:160,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:160,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:164,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:164,1
    - Dst: HugeRegion::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:170,1
    - Dst: HugeRegion::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:173,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:188,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:196,1
    - Dst: HugeRegion::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:199,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:208,1
    - Dst: HugeRegion::Print
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:209,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:221,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:230,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:231,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:234,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:238,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:242,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:245,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::FuzzRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 1
    functionsReached:
    - data
    - TC_CHECK_LE
    - HugeRegion::MaybeGet
    - HugeRegion::stats
    - memcpy
    - HugeRegion::free_backed
    - MockUnback::released_::end
    - TC_CHECK_GT
    - CHECK_LE
    - TC_CHECK_EQ
    - std::vector::pop_back
    - HugeRegion::PrintInPbtxt
    - MockUnback::released_::find
    - MockUnback::released_::reserve
    - Length
    - std::string::resize
    - std::vector::emplace_back
    - MockUnback::released_::erase
    - swap
    - std::vector::resize
    - std::min
    - CHECK
    - std::max<size_t>
    - MockUnback::released_::insert
    - run_dsl
    - reinterpret_cast<void*>
    - size
    - HugeRegion::size
    - HugePageContaining
    - std::vector::back
    - HugeRegion::Print
    - std::vector::size
    - std::string::size
    - HLFromPages
    - Printer::SpaceRequired
    - std::vector::empty
    - HugePage::first_page
    - HugeRegion::Release
    - NHugePages
    - HugeRegion::Put
    - HugeRegion::AddSpanStats
    - 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:253,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 262
    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:42,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - insert
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:62,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:63,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:77,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:77,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:79,1
    - Dst: MockUnback::released_::reserve
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:82,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:82,1
    - Dst: MockUnback::released_::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:84,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:91,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:97,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:104,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:104,1
    - Dst: HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:107,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:111,1
    - Dst: MockUnback::released_::find
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:117,1
    - Dst: MockUnback::released_::end
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:118,1
    - Dst: MockUnback::released_::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:119,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:124,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:140,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:145,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:145,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HugeRegion::Release
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:157,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:160,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:160,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:164,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:164,1
    - Dst: HugeRegion::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:170,1
    - Dst: HugeRegion::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:173,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:188,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:196,1
    - Dst: HugeRegion::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:199,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:208,1
    - Dst: HugeRegion::Print
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:209,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:221,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:230,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:231,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:234,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:238,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:242,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:245,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::FuzzRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 2
    functionsReached:
    - data
    - TC_CHECK_LE
    - HugeRegion::MaybeGet
    - HugeRegion::stats
    - memcpy
    - HugeRegion::free_backed
    - MockUnback::released_::end
    - TC_CHECK_GT
    - CHECK_LE
    - TC_CHECK_EQ
    - std::vector::pop_back
    - HugeRegion::PrintInPbtxt
    - MockUnback::released_::find
    - MockUnback::released_::reserve
    - Length
    - std::string::resize
    - std::vector::emplace_back
    - MockUnback::released_::erase
    - swap
    - std::vector::resize
    - std::min
    - CHECK
    - std::max<size_t>
    - MockUnback::released_::insert
    - run_dsl
    - reinterpret_cast<void*>
    - size
    - HugeRegion::size
    - HugePageContaining
    - std::vector::back
    - HugeRegion::Print
    - std::vector::size
    - std::string::size
    - HLFromPages
    - Printer::SpaceRequired
    - std::vector::empty
    - HugePage::first_page
    - HugeRegion::Release
    - NHugePages
    - HugeRegion::Put
    - HugeRegion::AddSpanStats
    - 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:253,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 262
    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:42,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - insert
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:62,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:63,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:77,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:77,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:79,1
    - Dst: MockUnback::released_::reserve
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:81,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:82,1
    - Dst: HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:82,1
    - Dst: MockUnback::released_::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:84,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:91,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:97,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:104,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:104,1
    - Dst: HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:107,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:111,1
    - Dst: MockUnback::released_::find
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:117,1
    - Dst: MockUnback::released_::end
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:118,1
    - Dst: MockUnback::released_::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:119,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:124,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:134,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:140,1
    - Dst: swap
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:144,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:145,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:145,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:147,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:155,1
    - Dst: HugeRegion::Release
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:157,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:159,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:160,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:160,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:164,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:164,1
    - Dst: HugeRegion::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:170,1
    - Dst: HugeRegion::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:173,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:184,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:188,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:196,1
    - Dst: HugeRegion::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:199,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:201,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:208,1
    - Dst: HugeRegion::Print
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:209,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:221,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:230,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:231,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:234,1
    - Dst: run_dsl
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:238,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:242,1
    - Dst: HugeRegion::Put
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:245,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 247
    functionName: tcmalloc::tcmalloc_internal::FuzzRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc
    functionUses: 3
    functionsReached:
    - data
    - TC_CHECK_LE
    - HugeRegion::MaybeGet
    - HugeRegion::stats
    - memcpy
    - HugeRegion::free_backed
    - MockUnback::released_::end
    - TC_CHECK_GT
    - CHECK_LE
    - TC_CHECK_EQ
    - std::vector::pop_back
    - HugeRegion::PrintInPbtxt
    - MockUnback::released_::find
    - MockUnback::released_::reserve
    - Length
    - std::string::resize
    - std::vector::emplace_back
    - MockUnback::released_::erase
    - swap
    - std::vector::resize
    - std::min
    - CHECK
    - std::max<size_t>
    - MockUnback::released_::insert
    - run_dsl
    - reinterpret_cast<void*>
    - size
    - HugeRegion::size
    - HugePageContaining
    - std::vector::back
    - HugeRegion::Print
    - std::vector::size
    - std::string::size
    - HLFromPages
    - Printer::SpaceRequired
    - std::vector::empty
    - HugePage::first_page
    - HugeRegion::Release
    - NHugePages
    - HugeRegion::Put
    - HugeRegion::AddSpanStats
    - 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:253,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/huge_region_fuzz.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 262
    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: 21
    BranchProfiles: []
    Callsites:
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/span.h:107,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:112,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: set_num_pages
      Src: /src/tcmalloc/tcmalloc/span.h:114,1
    - Dst: ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/span.h:124,1
    - Dst: absl_nullable Unsample
      Src: /src/tcmalloc/tcmalloc/span.h:143,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:191,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:199,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:251,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:388,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:394,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:395,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:395,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:396,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:397,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:398,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:399,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:399,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:405,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:408,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:411,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:412,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:413,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:414,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:415,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:422,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:422,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/span.h:423,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/span.h:424,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:424,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/span.h:428,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:428,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:431,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:431,1
    - Dst: BitmapPushBatch
      Src: /src/tcmalloc/tcmalloc/span.h:432,1
    - Dst: ListPushBatch
      Src: /src/tcmalloc/tcmalloc/span.h:434,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:443,1
    - Dst: remove_prefix
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/span.h:450,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:457,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:459,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:460,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:461,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:466,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:468,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:472,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:477,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: remove_prefix
      Src: /src/tcmalloc/tcmalloc/span.h:495,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/span.h:498,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:502,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span.h:502,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:507,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:509,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:514,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:514,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:524,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/span.h:532,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:532,1
    - Dst: OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:533,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:534,1
    - Dst: BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:534,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:540,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:542,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:544,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:544,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:546,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:554,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:557,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:557,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:559,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:566,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:567,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:567,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/span.h:573,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:576,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:583,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:585,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:586,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:586,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:590,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:590,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:591,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:595,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:596,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:598,1
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/span.h:602,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:603,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:607,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:607,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:608,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:613,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:614,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:616,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:620,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:620,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:621,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:622,1
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/span.h:628,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:631,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:632,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:633,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:651,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:655,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:659,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:659,1
    - Dst: bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/span.h:660,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:661,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.h:661,1
    - Dst: BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:662,1
    - Dst: bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/span.h:663,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:667,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:667,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/span.h:668,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/span.h:668,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:675,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:675,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:678,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:678,1
    - Dst: BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.h:679,1
    - Dst: ListPopBatch
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/span.h:690,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:692,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:695,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:706,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:715,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:726,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/span.h:734,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/span.h:734,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 226
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 739
    functionName: tcmalloc_internal::SpanList::Elem
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - data
    - UseBitmapForSize
    - remove_prefix
    - PageIdContaining
    - PageId
    - bitmap::FindSet
    - ASSUME
    - bitmap::IsZero
    - absl::bit_cast<uintptr_t>
    - ListPopBatch
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - PrefetchT0
    - p::index
    - absl_nullable Unsample
    - bitmap::SetBit
    - reinterpret_cast<ObjIdx*>
    - first_page
    - Length
    - OffsetToIdx
    - BitmapPopBatch
    - std::atomic::load
    - tcmalloc_internal::Span::UseBitmapForSize
    - bitmap::GetBit
    - PtrToIdx
    - static_cast<uint64_t>
    - std::min
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    - is_large_or_sampled
    - raw_num
    - size
    - static_cast<ObjIdx>
    - bitmap::CountBits
    - bitmap::size
    - set_num_pages
    - static_cast<uintptr_t>
    - TC_CHECK_LT
    - std::atomic::store
    - ListPushBatch
    - IdxToPtr
    - BitmapPushBatch
    - empty
    - ABSL_LOCKS_EXCLUDED
    - reinterpret_cast<uintptr_t>
    - BitmapPtrToIdx
    - index
    - load
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    - sampled
    - start_address
    - BitmapIdxToPtr
    - TC_ASSERT
    - bitmap::ClearLowestBit
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class ABSL_CACHELINE_ALIGNED
    signature: class ABSL_CACHELINE_ALIGNED SpanList::Elem
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Range::p::index
      Src: /src/tcmalloc/tcmalloc/span.h:107,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:112,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: Range::p::index
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: set_num_pages
      Src: /src/tcmalloc/tcmalloc/span.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::Span
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - Range::p::index
    - set_num_pages
    - TC_CHECK_LT
    - static_cast<uint64_t>
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Span(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    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: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    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:191,1
    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::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: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    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:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::set_nonempty_index
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set_nonempty_index(uint8_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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::is_long_lived_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_long_lived_span() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::set_is_long_lived_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_long_lived_span(bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:394,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:395,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:395,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:396,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:397,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:398,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:399,1
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - idx
    - size
    - start
    argTypes:
    - ObjIdx
    - size_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: tcmalloc_internal::Span::IdxToPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - static_cast<uintptr_t>
    - reinterpret_cast<ObjIdx*>
    - tcmalloc_internal::Span::PtrToIdx
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:405,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:408,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:411,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:412,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:413,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:414,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:414,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: tcmalloc_internal::Span::PtrToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - static_cast<ObjIdx>
    - static_cast<uintptr_t>
    - PageIdContaining
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_NE
    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:422,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:422,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:423,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/span.h:424,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/span.h:424,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.h:428,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/span.h:428,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:431,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:431,1
    - Dst: tcmalloc_internal::Span::BitmapPushBatch
      Src: /src/tcmalloc/tcmalloc/span.h:432,1
    - Dst: tcmalloc_internal::Span::ListPushBatch
      Src: /src/tcmalloc/tcmalloc/span.h:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - batch
    - size
    - reciprocal
    argTypes:
    - absl::Span<T>
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: tcmalloc_internal::Span::FreelistPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - absl::Span<T>::size
    - store
    - tcmalloc_internal::Span::ListPushBatch
    - load
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Span::BitmapPushBatch
    - tcmalloc_internal::Span::UseBitmapForSize
    - TC_ASSERT_GE
    - TC_ASSERT
    - is_large_or_sampled
    linkageType: ''
    returnType: bool
    signature: "bool Span::FreelistPushBatch(absl::Span<T> batch, size_t size,\n                                    uint32_t
      reciprocal) __restrict__"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:443,1
    - Dst: absl::Span<void*>::remove_prefix
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/span.h:450,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:457,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:459,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:460,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:461,1
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:466,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:468,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:472,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 483
    functionName: tcmalloc_internal::Span::ListPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Span::IdxToPtr
    - reinterpret_cast<uintptr_t>
    - absl::Span<void*>::size
    - reinterpret_cast<ObjIdx*>
    - absl::Span<void*>::empty
    - tcmalloc_internal::Span::PtrToIdx
    - ABSL_PREDICT_TRUE
    - absl::Span<void*>::remove_prefix
    - TC_ASSERT_EQ
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool Span::ListPushBatch(absl::Span<void*> batch,\n                                size_t
      size) __restrict__"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: absl::Span<Span::ObjIdx>::size
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: absl::Span<Span::ObjIdx>::remove_prefix
      Src: /src/tcmalloc/tcmalloc/span.h:495,1
    - Dst: absl::Span<Span::ObjIdx>::empty
      Src: /src/tcmalloc/tcmalloc/span.h:498,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:502,1
    - Dst: tcmalloc_internal::Span::start_address
      Src: /src/tcmalloc/tcmalloc/span.h:502,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:507,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:509,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:514,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<Span::ObjIdx>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 520
    functionName: tcmalloc_internal::Span::ListPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Span::IdxToPtr
    - absl::Span<Span::ObjIdx>::remove_prefix
    - absl::Span<Span::ObjIdx>::empty
    - tcmalloc_internal::Span::start_address
    - reinterpret_cast<ObjIdx*>
    - ABSL_PREDICT_TRUE
    - absl::bit_cast<uintptr_t>
    - absl::Span<Span::ObjIdx>::size
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool Span::ListPushBatch(absl::Span<Span::ObjIdx> batch,\n                                size_t
      size) __restrict__"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - reciprocal
    argTypes:
    - uintptr_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    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:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/span.h:532,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:532,1
    - Dst: tcmalloc_internal::Span::OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:533,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:534,1
    - Dst: tcmalloc_internal::Span::BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - reciprocal
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: tcmalloc_internal::Span::BitmapPtrToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::Span::first_page
    - tcmalloc_internal::Span::BitmapIdxToPtr
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::OffsetToIdx
    - 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:540,1
    - Dst: tcmalloc_internal::Span::BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:542,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:544,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:544,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:546,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - batch
    - size
    - reciprocal
    argTypes:
    - absl::Span<void*>
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: tcmalloc_internal::Span::BitmapPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - bitmap::CountBits
    - bitmap::SetBit
    - absl::Span<void*>::size
    - bitmap::GetBit
    - tcmalloc_internal::Span::BitmapPtrToIdx
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: bool
    signature: "bool Span::BitmapPushBatch(absl::Span<void*> batch, size_t size,\n
      \                                 uint32_t reciprocal) __restrict__"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:554,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:557,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:557,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:559,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: absl::Span<ObjIdx>::size
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - batch
    - size
    - reciprocal
    argTypes:
    - absl::Span<ObjIdx>
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::Span::BitmapPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - bitmap::CountBits
    - absl::Span<ObjIdx>::size
    - bitmap::SetBit
    - bitmap::GetBit
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: bool
    signature: "bool Span::BitmapPushBatch(absl::Span<ObjIdx> batch, size_t size,\n
      \                                 uint32_t reciprocal) __restrict__"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:566,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:567,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 569
    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: 571
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 571
    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:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 573
    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:576,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: tcmalloc_internal::Span::last_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - Length
    - is_large_or_sampled
    linkageType: ''
    returnType: PageId
    signature: PageId Span::last_page() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:583,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:585,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:586,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: tcmalloc_internal::Span::set_first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LT
    - PageId::index
    - static_cast<uint64_t>
    - TC_ASSERT_EQ
    - 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:590,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:590,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::Span::start_address
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    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:595,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:596,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::Span::num_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - Length
    - is_large_or_sampled
    linkageType: ''
    returnType: Length
    signature: Length Span::num_pages() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::sampled
      Src: /src/tcmalloc/tcmalloc/span.h:602,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:603,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:607,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:607,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::Span::set_num_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_ASSERT_LT
    - tcmalloc_internal::Span::sampled
    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:613,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:614,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: tcmalloc_internal::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - Length
    - is_large_or_sampled
    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:620,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:620,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:621,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 626
    functionName: tcmalloc_internal::Span::FreelistEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::Span::UseBitmapForSize
    - bitmap::IsZero
    - 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:628,1
    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::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:631,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:632,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 638
    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: 647
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 647
    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:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 651
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:655,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:659,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:659,1
    - Dst: bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/span.h:660,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:661,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.h:661,1
    - Dst: tcmalloc_internal::Span::BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:662,1
    - Dst: bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/span.h:663,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:667,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:667,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.h:668,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 671
    functionName: tcmalloc_internal::Span::BitmapPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - store
    - bitmap::CountBits
    - absl::Span<void*>::size
    - load
    - tcmalloc_internal::Span::BitmapIdxToPtr
    - bitmap::FindSet
    - bitmap::IsZero
    - TC_ASSERT_EQ
    - bitmap::ClearLowestBit
    - bitmap::size
    linkageType: ''
    returnType: size_t
    signature: "size_t Span::BitmapPopBatch(absl::Span<void*> batch,\n                                   size_t
      size) __restrict__"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:675,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:675,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:678,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:678,1
    - Dst: tcmalloc_internal::Span::BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.h:679,1
    - Dst: tcmalloc_internal::Span::ListPopBatch
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: absl::Span<void*>::data
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 682
    functionName: tcmalloc_internal::Span::FreelistPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::Span<void*>::data
    - tcmalloc_internal::Span::BitmapPopBatch
    - tcmalloc_internal::Span::UseBitmapForSize
    - tcmalloc_internal::Span::ListPopBatch
    - TC_ASSERT
    - is_large_or_sampled
    linkageType: ''
    returnType: size_t
    signature: "size_t Span::FreelistPopBatch(const absl::Span<void*> batch,\n                                     size_t
      size) __restrict__"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/span.h:690,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:692,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:695,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:706,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:715,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:726,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.h:734,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:734,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - batch
    - N
    - size
    argTypes:
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 737
    functionName: tcmalloc_internal::Span::ListPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::Span::IdxToPtr
    - store
    - load
    - TC_ASSERT_EQ
    - ASSUME
    - tcmalloc_internal::Span::first_page
    linkageType: ''
    returnType: size_t
    signature: "size_t Span::ListPopBatch(void** __restrict batch, size_t N,\n                                 size_t
      size) __restrict__"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/span.h:107,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:112,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: p::index
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: set_num_pages
      Src: /src/tcmalloc/tcmalloc/span.h:114,1
    - Dst: ABSL_LOCKS_EXCLUDED
      Src: /src/tcmalloc/tcmalloc/span.h:124,1
    - Dst: absl_nullable Unsample
      Src: /src/tcmalloc/tcmalloc/span.h:143,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:191,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:199,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:251,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:388,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:394,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:395,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:395,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:396,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:397,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:398,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:399,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:399,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:405,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:408,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:411,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:412,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:413,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:414,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:414,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:415,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:422,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:422,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/span.h:423,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/span.h:424,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:424,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/span.h:428,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:428,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:431,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:431,1
    - Dst: BitmapPushBatch
      Src: /src/tcmalloc/tcmalloc/span.h:432,1
    - Dst: ListPushBatch
      Src: /src/tcmalloc/tcmalloc/span.h:434,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:443,1
    - Dst: remove_prefix
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/span.h:450,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:457,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:459,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:460,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:461,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:466,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:468,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:472,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:477,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: remove_prefix
      Src: /src/tcmalloc/tcmalloc/span.h:495,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/span.h:498,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:502,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span.h:502,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:507,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:509,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:514,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:514,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:524,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/span.h:532,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:532,1
    - Dst: OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:533,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:534,1
    - Dst: BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:534,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:540,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:542,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:544,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:544,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:546,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:554,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:557,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:557,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:559,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:566,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:567,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:567,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/span.h:573,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:576,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:583,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:585,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:586,1
    - Dst: index
      Src: /src/tcmalloc/tcmalloc/span.h:586,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:590,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:590,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:591,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:595,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:596,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:598,1
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/span.h:602,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:603,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:607,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:607,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:608,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:613,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:614,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:616,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:620,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:620,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:621,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:622,1
    - Dst: PrefetchT0
      Src: /src/tcmalloc/tcmalloc/span.h:628,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:631,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:632,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:633,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:651,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:655,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:659,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:659,1
    - Dst: bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/span.h:660,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:661,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.h:661,1
    - Dst: BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:662,1
    - Dst: bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/span.h:663,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:667,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:667,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/span.h:668,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/span.h:668,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:675,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:675,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:678,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:678,1
    - Dst: BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.h:679,1
    - Dst: ListPopBatch
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/span.h:690,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.h:692,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:695,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:706,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:715,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:726,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/span.h:734,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/span.h:734,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 226
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 739
    functionName: tcmalloc_internal::SpanList::Elem
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - data
    - UseBitmapForSize
    - remove_prefix
    - PageIdContaining
    - PageId
    - bitmap::FindSet
    - ASSUME
    - bitmap::IsZero
    - absl::bit_cast<uintptr_t>
    - ListPopBatch
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - PrefetchT0
    - p::index
    - absl_nullable Unsample
    - bitmap::SetBit
    - reinterpret_cast<ObjIdx*>
    - first_page
    - Length
    - OffsetToIdx
    - BitmapPopBatch
    - std::atomic::load
    - tcmalloc_internal::Span::UseBitmapForSize
    - bitmap::GetBit
    - PtrToIdx
    - static_cast<uint64_t>
    - std::min
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    - is_large_or_sampled
    - raw_num
    - size
    - static_cast<ObjIdx>
    - bitmap::CountBits
    - bitmap::size
    - set_num_pages
    - static_cast<uintptr_t>
    - TC_CHECK_LT
    - std::atomic::store
    - ListPushBatch
    - IdxToPtr
    - BitmapPushBatch
    - empty
    - ABSL_LOCKS_EXCLUDED
    - reinterpret_cast<uintptr_t>
    - BitmapPtrToIdx
    - index
    - load
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    - sampled
    - start_address
    - BitmapIdxToPtr
    - TC_ASSERT
    - bitmap::ClearLowestBit
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class ABSL_CACHELINE_ALIGNED
    signature: class ABSL_CACHELINE_ALIGNED SpanList::Elem
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Range::p::index
      Src: /src/tcmalloc/tcmalloc/span.h:107,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:112,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: Range::p::index
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:113,1
    - Dst: set_num_pages
      Src: /src/tcmalloc/tcmalloc/span.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: tcmalloc_internal::Span
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - Range::p::index
    - set_num_pages
    - TC_CHECK_LT
    - static_cast<uint64_t>
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void Span(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    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: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    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:191,1
    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::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: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    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:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::set_nonempty_index
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void set_nonempty_index(uint8_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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::is_long_lived_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_long_lived_span() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::set_is_long_lived_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_long_lived_span(bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:394,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:395,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:395,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:396,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:397,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:398,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:399,1
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - idx
    - size
    - start
    argTypes:
    - ObjIdx
    - size_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: tcmalloc_internal::Span::IdxToPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - static_cast<uintptr_t>
    - reinterpret_cast<ObjIdx*>
    - tcmalloc_internal::Span::PtrToIdx
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:405,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:408,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:409,1
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:411,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.h:412,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:413,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:414,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:414,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: tcmalloc_internal::Span::PtrToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - static_cast<ObjIdx>
    - static_cast<uintptr_t>
    - PageIdContaining
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_NE
    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:422,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:422,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:423,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/span.h:424,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/span.h:424,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/span.h:425,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.h:428,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/span.h:428,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:431,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:431,1
    - Dst: tcmalloc_internal::Span::BitmapPushBatch
      Src: /src/tcmalloc/tcmalloc/span.h:432,1
    - Dst: tcmalloc_internal::Span::ListPushBatch
      Src: /src/tcmalloc/tcmalloc/span.h:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - batch
    - size
    - reciprocal
    argTypes:
    - absl::Span<T>
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: tcmalloc_internal::Span::FreelistPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - absl::Span<T>::size
    - store
    - tcmalloc_internal::Span::ListPushBatch
    - load
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Span::BitmapPushBatch
    - tcmalloc_internal::Span::UseBitmapForSize
    - TC_ASSERT_GE
    - TC_ASSERT
    - is_large_or_sampled
    linkageType: ''
    returnType: bool
    signature: "bool Span::FreelistPushBatch(absl::Span<T> batch, size_t size,\n                                    uint32_t
      reciprocal) __restrict__"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:440,1
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:443,1
    - Dst: absl::Span<void*>::remove_prefix
      Src: /src/tcmalloc/tcmalloc/span.h:447,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/span.h:450,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:457,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:459,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:460,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:461,1
    - Dst: tcmalloc_internal::Span::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:466,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:468,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:470,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:472,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 483
    functionName: tcmalloc_internal::Span::ListPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Span::IdxToPtr
    - reinterpret_cast<uintptr_t>
    - absl::Span<void*>::size
    - reinterpret_cast<ObjIdx*>
    - absl::Span<void*>::empty
    - tcmalloc_internal::Span::PtrToIdx
    - ABSL_PREDICT_TRUE
    - absl::Span<void*>::remove_prefix
    - TC_ASSERT_EQ
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool Span::ListPushBatch(absl::Span<void*> batch,\n                                size_t
      size) __restrict__"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: absl::Span<Span::ObjIdx>::size
      Src: /src/tcmalloc/tcmalloc/span.h:488,1
    - Dst: absl::Span<Span::ObjIdx>::remove_prefix
      Src: /src/tcmalloc/tcmalloc/span.h:495,1
    - Dst: absl::Span<Span::ObjIdx>::empty
      Src: /src/tcmalloc/tcmalloc/span.h:498,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span.h:502,1
    - Dst: tcmalloc_internal::Span::start_address
      Src: /src/tcmalloc/tcmalloc/span.h:502,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:505,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/span.h:507,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:509,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.h:514,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<Span::ObjIdx>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 520
    functionName: tcmalloc_internal::Span::ListPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Span::IdxToPtr
    - absl::Span<Span::ObjIdx>::remove_prefix
    - absl::Span<Span::ObjIdx>::empty
    - tcmalloc_internal::Span::start_address
    - reinterpret_cast<ObjIdx*>
    - ABSL_PREDICT_TRUE
    - absl::bit_cast<uintptr_t>
    - absl::Span<Span::ObjIdx>::size
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool Span::ListPushBatch(absl::Span<Span::ObjIdx> batch,\n                                size_t
      size) __restrict__"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ObjIdx>
      Src: /src/tcmalloc/tcmalloc/span.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - reciprocal
    argTypes:
    - uintptr_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    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:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/tcmalloc/tcmalloc/span.h:532,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:532,1
    - Dst: tcmalloc_internal::Span::OffsetToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:533,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:534,1
    - Dst: tcmalloc_internal::Span::BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - reciprocal
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: tcmalloc_internal::Span::BitmapPtrToIdx
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::Span::first_page
    - tcmalloc_internal::Span::BitmapIdxToPtr
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::OffsetToIdx
    - 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:540,1
    - Dst: tcmalloc_internal::Span::BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span.h:542,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:544,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:544,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:546,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - batch
    - size
    - reciprocal
    argTypes:
    - absl::Span<void*>
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: tcmalloc_internal::Span::BitmapPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 2
    functionsReached:
    - bitmap::CountBits
    - bitmap::SetBit
    - absl::Span<void*>::size
    - bitmap::GetBit
    - tcmalloc_internal::Span::BitmapPtrToIdx
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: bool
    signature: "bool Span::BitmapPushBatch(absl::Span<void*> batch, size_t size,\n
      \                                 uint32_t reciprocal) __restrict__"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:554,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:557,1
    - Dst: bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/span.h:557,1
    - Dst: bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/span.h:559,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: absl::Span<ObjIdx>::size
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - batch
    - size
    - reciprocal
    argTypes:
    - absl::Span<ObjIdx>
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::Span::BitmapPushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 2
    functionsReached:
    - bitmap::CountBits
    - absl::Span<ObjIdx>::size
    - bitmap::SetBit
    - bitmap::GetBit
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: bool
    signature: "bool Span::BitmapPushBatch(absl::Span<ObjIdx> batch, size_t size,\n
      \                                 uint32_t reciprocal) __restrict__"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:566,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:567,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 569
    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: 571
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 571
    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:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 573
    functionName: tcmalloc_internal::Span::first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 9
    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:576,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:577,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: tcmalloc_internal::Span::last_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::first_page
    - Length
    - is_large_or_sampled
    linkageType: ''
    returnType: PageId
    signature: PageId Span::last_page() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.h:583,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/span.h:584,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:585,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:586,1
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/span.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: tcmalloc_internal::Span::set_first_page
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LT
    - PageId::index
    - static_cast<uint64_t>
    - TC_ASSERT_EQ
    - 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:590,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:590,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: tcmalloc_internal::Span::start_address
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 2
    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:595,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:596,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: tcmalloc_internal::Span::num_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - Length
    - is_large_or_sampled
    linkageType: ''
    returnType: Length
    signature: Length Span::num_pages() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Span::sampled
      Src: /src/tcmalloc/tcmalloc/span.h:602,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:603,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:607,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:607,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.h:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - len
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 610
    functionName: tcmalloc_internal::Span::set_num_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_ASSERT_LT
    - tcmalloc_internal::Span::sampled
    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:613,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:614,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: tcmalloc_internal::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - Length
    - is_large_or_sampled
    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:620,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:620,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:621,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 626
    functionName: tcmalloc_internal::Span::FreelistEmpty
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - tcmalloc_internal::Span::UseBitmapForSize
    - bitmap::IsZero
    - 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:628,1
    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::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:631,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:632,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.h:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 638
    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: 647
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: tcmalloc_internal::Span::UseBitmapForSize
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 10
    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:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 651
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:655,1
    - Dst: bitmap::IsZero
      Src: /src/tcmalloc/tcmalloc/span.h:659,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:659,1
    - Dst: bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/span.h:660,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.h:661,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.h:661,1
    - Dst: tcmalloc_internal::Span::BitmapIdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:662,1
    - Dst: bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/span.h:663,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:667,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.h:667,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.h:668,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 671
    functionName: tcmalloc_internal::Span::BitmapPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - store
    - bitmap::CountBits
    - absl::Span<void*>::size
    - load
    - tcmalloc_internal::Span::BitmapIdxToPtr
    - bitmap::FindSet
    - bitmap::IsZero
    - TC_ASSERT_EQ
    - bitmap::ClearLowestBit
    - bitmap::size
    linkageType: ''
    returnType: size_t
    signature: "size_t Span::BitmapPopBatch(absl::Span<void*> batch,\n                                   size_t
      size) __restrict__"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.h:675,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.h:675,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/span.h:678,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.h:678,1
    - Dst: tcmalloc_internal::Span::BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.h:679,1
    - Dst: tcmalloc_internal::Span::ListPopBatch
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: absl::Span<void*>::data
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.h:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - batch
    - size
    argTypes:
    - absl::Span<void*>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 682
    functionName: tcmalloc_internal::Span::FreelistPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 0
    functionsReached:
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::Span<void*>::data
    - tcmalloc_internal::Span::BitmapPopBatch
    - tcmalloc_internal::Span::UseBitmapForSize
    - tcmalloc_internal::Span::ListPopBatch
    - TC_ASSERT
    - is_large_or_sampled
    linkageType: ''
    returnType: size_t
    signature: "size_t Span::FreelistPopBatch(const absl::Span<void*> batch,\n                                     size_t
      size) __restrict__"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/span.h:690,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.h:692,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:695,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:706,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.h:715,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.h:726,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.h:734,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.h:734,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - batch
    - N
    - size
    argTypes:
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 737
    functionName: tcmalloc_internal::Span::ListPopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/span.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Span::IdxToPtr
    - store
    - load
    - TC_ASSERT_EQ
    - ASSUME
    - tcmalloc_internal::Span::first_page
    linkageType: ''
    returnType: size_t
    signature: "size_t Span::ListPopBatch(void** __restrict batch, size_t N,\n                                 size_t
      size) __restrict__"
  - 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:
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
    - linked_sample_allocator
    - ThreadManager::Start
    - std::move
    - absl::Milliseconds
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
    - PopSample
    - ThreadManager::Stop
    - InitIfNecessary
    - AllocationSampleList::AllocationSampleList
    - absl::Now
    - absl::Uniform<size_t>
    - std::swap
    - absl::SleepFor
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
    - TC_CHECK_NE
    - std::make_unique<AllocationSample>
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
    - std::unique_ptr::reset
    - absl::Uniform
    - std::unique_ptr::get
    - AllocationSampleList::ReportMalloc
    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:
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
    - linked_sample_allocator
    - ThreadManager::Start
    - std::move
    - absl::Milliseconds
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
    - PopSample
    - ThreadManager::Stop
    - InitIfNecessary
    - AllocationSampleList::AllocationSampleList
    - absl::Now
    - absl::Uniform<size_t>
    - std::swap
    - absl::SleepFor
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
    - TC_CHECK_NE
    - std::make_unique<AllocationSample>
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
    - std::unique_ptr::reset
    - absl::Uniform
    - std::unique_ptr::get
    - AllocationSampleList::ReportMalloc
    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:
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
    - linked_sample_allocator
    - ThreadManager::Start
    - std::move
    - absl::Milliseconds
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
    - PopSample
    - ThreadManager::Stop
    - InitIfNecessary
    - AllocationSampleList::AllocationSampleList
    - absl::Now
    - absl::Uniform<size_t>
    - std::swap
    - absl::SleepFor
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
    - TC_CHECK_NE
    - std::make_unique<AllocationSample>
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
    - std::unique_ptr::reset
    - absl::Uniform
    - std::unique_ptr::get
    - AllocationSampleList::ReportMalloc
    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:
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::empty"
    - linked_sample_allocator
    - ThreadManager::Start
    - std::move
    - absl::Milliseconds
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::size"
    - PopSample
    - ThreadManager::Stop
    - InitIfNecessary
    - AllocationSampleList::AllocationSampleList
    - absl::Now
    - absl::Uniform<size_t>
    - std::swap
    - absl::SleepFor
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::pop_back"
    - TC_CHECK_NE
    - std::make_unique<AllocationSample>
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::back"
    - "struct GlobalState {\n    absl::Mutex mu;\n    std::vector<std::unique_ptr<AllocationSample>>
      samplers ABSL_GUARDED_BY(mu);\n  }::samplers::push_back"
    - std::unique_ptr::reset
    - absl::Uniform
    - std::unique_ptr::get
    - AllocationSampleList::ReportMalloc
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSample, Threaded)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:68,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:69,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:93,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:96,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_region.h:96,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:98,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:98,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:98,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:100,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:100,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:118,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:118,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:126,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:126,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:142,1
    - Dst: Rise
      Src: /src/tcmalloc/tcmalloc/huge_region.h:188,1
    - Dst: Fall
      Src: /src/tcmalloc/tcmalloc/huge_region.h:189,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:194,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:196,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:197,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:198,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:199,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:200,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:201,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:205,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:210,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:212,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:213,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:214,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:215,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:216,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:217,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:221,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:227,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:228,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:234,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:253,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:259,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:263,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/huge_region.h:267,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:273,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: Dec
      Src: /src/tcmalloc/tcmalloc/huge_region.h:276,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:285,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:287,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:293,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:298,1
    - Dst: UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:300,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:308,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:313,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:314,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:315,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:315,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:320,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:322,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:325,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:327,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:330,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:332,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:334,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:346,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:348,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:355,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:355,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:356,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:356,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:362,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:381,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:382,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:383,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:384,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:384,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_region.h:385,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:386,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:391,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:396,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:396,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:398,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:398,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:399,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:399,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:401,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:401,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_region.h:406,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:407,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:408,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:414,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:415,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:416,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:416,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:417,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:417,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:418,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:419,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:425,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:434,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:435,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:436,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:436,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:438,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:439,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:439,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:440,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:443,1
    - Dst: UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:450,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:456,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:468,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:469,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:494,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:495,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region.h:508,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:510,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    - Dst: AddToList
      Src: /src/tcmalloc/tcmalloc/huge_region.h:524,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:529,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:532,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:536,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:549,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:552,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:553,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:554,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:555,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:558,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:561,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:561,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:562,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:564,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:565,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:574,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_region.h:577,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:578,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:586,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region.h:599,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:609,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 249
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 616
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - n::raw_num
    - Fix
    - stats
    - Unmark
    - free_pages
    - unback_
    - Put
    - longest_free
    - tcmalloc_internal::HugeRegion::size
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - UseHugeRegionMoreOften
    - Print
    - HugeLength::in_pages
    - auto::BetterToAllocThan
    - HugeLength::in_mib
    - Inc
    - len
    - Rise
    - at
    - first_page
    - Length
    - HugeLength::raw_num
    - UnbackHugepages
    - contains
    - NextFreeRange
    - backed
    - std::min
    - TC_ASSERT_GT
    - raw_num
    - Length::raw_num
    - size
    - append
    - in_bytes
    - AddSpanStats
    - BetterToAllocThan
    - in_pages
    - CreateSubRegion
    - HugePageContaining
    - HugeLength::in_bytes
    - used_pages
    - PrintInPbtxt
    - used
    - HLFromBytes
    - Dec
    - static_cast<double>
    - MaybeGet
    - HugeRange
    - std::clamp<double>
    - start
    - remove
    - unmapped_pages
    - FindAndMark
    - free_backed
    - prepend
    - PrintI64
    - ABSL_PREDICT_TRUE
    - AddToList
    - printf
    - NHugePages
    - Release
    - TC_ASSERT
    - end
    - TC_ASSERT_LE
    - Fall
    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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    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:96,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_region.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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:98,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:98,1
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::HugeRegion::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::used_pages
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::HugeRegion::unmapped_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:100,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::HugeRegion::unmapped_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - in_pages
    - tcmalloc_internal::HugeRegion::size
    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:118,1
    - Dst: HugeRegion*::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - HugeRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc_internal::HugeRegion::BetterToAllocThan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - HugeRegion*::longest_free
    - tcmalloc_internal::HugeRegion::longest_free
    linkageType: ''
    returnType: bool
    signature: bool BetterToAllocThan(const HugeRegion* rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:126,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::HugeRegion::longest_free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - Length
    - tcmalloc_internal::HugeRegion::longest_free
    linkageType: ''
    returnType: Length
    signature: Length longest_free() const
  - 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: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    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: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    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:188,1
    - Dst: tcmalloc_internal::HugeRegionSet::Fall
      Src: /src/tcmalloc/tcmalloc/huge_region.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    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* absl_nonnull r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:194,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:196,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:197,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:198,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:199,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:200,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:201,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::HugeRegionSet::Rise
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - append
    - BetterToAllocThan
    - at
    - remove
    - prepend
    - end
    linkageType: ''
    returnType: void
    signature: void Rise(Region* absl_nonnull r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:210,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:212,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:213,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:214,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:215,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:216,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:217,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: tcmalloc_internal::HugeRegionSet::Fall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - append
    - at
    - remove
    - prepend
    - end
    - auto::BetterToAllocThan
    linkageType: ''
    returnType: void
    signature: void Fall(Region* absl_nonnull r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:227,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:228,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: tcmalloc_internal::HugeRegionSet::AddToList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - prepend
    - append
    - BetterToAllocThan
    linkageType: ''
    returnType: void
    signature: void AddToList(Region* absl_nonnull r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ' unback'
    argTypes:
    - HugeRange
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: tcmalloc_internal::HugeRegion::HugeRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    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:259,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:263,1
    - Dst: tcmalloc_internal::HugeRegion::Inc
      Src: /src/tcmalloc/tcmalloc/huge_region.h:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - n
    - p
    - from_released
    argTypes:
    - Length
    - PageId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::HugeRegion::MaybeGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - start
    - Length
    - FindAndMark
    - tcmalloc_internal::HugeRegion::Inc
    - TC_ASSERT_GT
    - tcmalloc_internal::HugeRegion::longest_free
    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:273,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: tcmalloc_internal::HugeRegion::Dec
      Src: /src/tcmalloc/tcmalloc/huge_region.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - release
    argTypes:
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: tcmalloc_internal::HugeRegion::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - tcmalloc_internal::HugeRegion::Dec
    - start
    - Unmark
    - 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:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:285,1
    - Dst: tcmalloc_internal::HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:287,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:293,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:298,1
    - Dst: tcmalloc_internal::HugeRegion::UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: tcmalloc_internal::HugeRegion::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length
    - tcmalloc_internal::HugeRegion::UnbackHugepages
    - tcmalloc_internal::HugeRegion::free_backed
    - NHugePages
    - std::min
    - HugeLength::in_pages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegion::Release(Length desired)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:308,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:313,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:314,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:315,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:315,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:320,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:322,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:325,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:327,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:330,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:332,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:334,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:346,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:348,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:355,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:355,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:356,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::HugeRegion::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_pages
    - Length::raw_num
    - start
    - first_page
    - HugePageContaining
    - Length
    - TC_CHECK_EQ
    - NHugePages
    - NextFreeRange
    - TC_ASSERT
    - std::min
    - tcmalloc_internal::HugeRegion::unmapped_pages
    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:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: tcmalloc_internal::HugeRegion::free_backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - Length
    - NHugePages
    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: 378
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 378
    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:381,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:382,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:383,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:384,1
    - Dst: tcmalloc_internal::HugeRegion::backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:384,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_region.h:385,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:386,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::HugeRegion::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_pages
    - tcmalloc_internal::HugeRegion::used_pages
    - HugeLength::in_mib
    - in_bytes
    - tcmalloc_internal::HugeRegion::size
    - printf
    - tcmalloc_internal::HugeRegion::backed
    - tcmalloc_internal::HugeRegion::longest_free
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:396,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:396,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:398,1
    - Dst: tcmalloc_internal::HugeRegion::backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:398,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:399,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:399,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:401,1
    - Dst: tcmalloc_internal::HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' detail'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: tcmalloc_internal::HugeRegion::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_pages
    - tcmalloc_internal::HugeRegion::used_pages
    - in_bytes
    - PrintI64
    - tcmalloc_internal::HugeRegion::size
    - HugeLength::in_bytes
    - tcmalloc_internal::HugeRegion::free_backed
    - tcmalloc_internal::HugeRegion::backed
    - tcmalloc_internal::HugeRegion::longest_free
    linkageType: ''
    returnType: void
    signature: void HugeRegion::PrintInPbtxt(PbtxtRegion& detail) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_region.h:406,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:407,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 410
    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:414,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:415,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:416,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:416,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:417,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:417,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:418,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:419,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - from_released
    argTypes:
    - Range
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: tcmalloc_internal::HugeRegion::Inc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - start
    - first_page
    - HugePageContaining
    - Length
    - NHugePages
    - std::min
    - TC_ASSERT_LE
    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:434,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:435,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:436,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:436,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:438,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:439,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:439,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:440,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:443,1
    - Dst: tcmalloc_internal::HugeRegion::UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - release
    argTypes:
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::HugeRegion::Dec
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - start
    - first_page
    - HugePageContaining
    - Length
    - tcmalloc_internal::HugeRegion::UnbackHugepages
    - NHugePages
    - TC_ASSERT_GE
    - TC_ASSERT
    - std::min
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Dec(Range r, bool release)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:456,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:468,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:469,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - should_unback
    argTypes:
    - bool[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 485
    functionName: tcmalloc_internal::HugeRegion::UnbackHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - HugeRange
    - start
    - unback_
    - ABSL_PREDICT_TRUE
    - NHugePages
    - TC_ASSERT
    linkageType: ''
    returnType: HugeLength
    signature: "HugeLength HugeRegion::UnbackHugepages(\n    bool should_unback[kNumHugePages])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:494,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - n
    - page
    - from_released
    argTypes:
    - Length
    - PageId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
    - 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:508,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:510,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 518
    functionName: tcmalloc_internal::HugeRegionSet<Region>::MaybePut
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - UseHugeRegionMoreOften
    - Fix
    - Put
    - contains
    linkageType: ''
    returnType: bool
    signature: bool HugeRegionSet<Region>::MaybePut(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/tcmalloc/tcmalloc/huge_region.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: tcmalloc_internal::HugeRegionSet<Region>::Contribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - AddToList
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::Contribute(Region* region)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:529,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:532,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - release_fraction
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 540
    functionName: tcmalloc_internal::HugeRegionSet<Region>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - std::clamp<double>
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - Release
    - Length
    linkageType: ''
    returnType: Length
    signature: Length HugeRegionSet<Region>::ReleasePages(double release_fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:549,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:552,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:553,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:554,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:555,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:558,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:561,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:561,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:562,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:564,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:565,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 570
    functionName: tcmalloc_internal::HugeRegionSet<Region>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - Length::raw_num
    - free_pages
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - tcmalloc_internal::HugeRegionSet<Region>::Print
    - HugeLength::raw_num
    - Length
    - tcmalloc_internal::HugeRegion::size
    - static_cast<double>
    - printf
    - NHugePages
    - backed
    - HugeLength::in_pages
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:574,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_region.h:577,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 1
    functionsReached:
    - CreateSubRegion
    - PrintI64
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
    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:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 588
    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: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    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:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 603
    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:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: tcmalloc_internal::HugeRegionSet<Region>::free_backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 3
    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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    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:96,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_region.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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:98,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:98,1
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::HugeRegion::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::HugeRegion::used_pages
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::HugeRegion::unmapped_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:100,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::HugeRegion::unmapped_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - in_pages
    - tcmalloc_internal::HugeRegion::size
    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:118,1
    - Dst: HugeRegion*::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - HugeRegion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tcmalloc_internal::HugeRegion::BetterToAllocThan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - HugeRegion*::longest_free
    - tcmalloc_internal::HugeRegion::longest_free
    linkageType: ''
    returnType: bool
    signature: bool BetterToAllocThan(const HugeRegion* rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:126,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: tcmalloc_internal::HugeRegion::longest_free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 7
    functionsReached:
    - Length
    - tcmalloc_internal::HugeRegion::longest_free
    linkageType: ''
    returnType: Length
    signature: Length longest_free() const
  - 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: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    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: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    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:188,1
    - Dst: tcmalloc_internal::HugeRegionSet::Fall
      Src: /src/tcmalloc/tcmalloc/huge_region.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    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* absl_nonnull r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:194,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:196,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:197,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:198,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:199,1
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:200,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:201,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::HugeRegionSet::Rise
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - append
    - BetterToAllocThan
    - at
    - remove
    - prepend
    - end
    linkageType: ''
    returnType: void
    signature: void Rise(Region* absl_nonnull r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/huge_region.h:210,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:212,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:213,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_region.h:214,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_region.h:215,1
    - Dst: auto::BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:216,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:217,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: tcmalloc_internal::HugeRegionSet::Fall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - append
    - at
    - remove
    - prepend
    - end
    - auto::BetterToAllocThan
    linkageType: ''
    returnType: void
    signature: void Fall(Region* absl_nonnull r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BetterToAllocThan
      Src: /src/tcmalloc/tcmalloc/huge_region.h:227,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_region.h:228,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/huge_region.h:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: tcmalloc_internal::HugeRegionSet::AddToList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - prepend
    - append
    - BetterToAllocThan
    linkageType: ''
    returnType: void
    signature: void AddToList(Region* absl_nonnull r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:249,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ' unback'
    argTypes:
    - HugeRange
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: tcmalloc_internal::HugeRegion::HugeRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length
    - NHugePages
    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:259,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:260,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:261,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:263,1
    - Dst: tcmalloc_internal::HugeRegion::Inc
      Src: /src/tcmalloc/tcmalloc/huge_region.h:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - n
    - p
    - from_released
    argTypes:
    - Length
    - PageId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: tcmalloc_internal::HugeRegion::MaybeGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - start
    - Length
    - FindAndMark
    - tcmalloc_internal::HugeRegion::Inc
    - TC_ASSERT_GT
    - tcmalloc_internal::HugeRegion::longest_free
    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:273,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:274,1
    - Dst: tcmalloc_internal::HugeRegion::Dec
      Src: /src/tcmalloc/tcmalloc/huge_region.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - release
    argTypes:
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: tcmalloc_internal::HugeRegion::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - tcmalloc_internal::HugeRegion::Dec
    - start
    - Unmark
    - 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:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:285,1
    - Dst: tcmalloc_internal::HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:287,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:288,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:290,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:293,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:298,1
    - Dst: tcmalloc_internal::HugeRegion::UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: tcmalloc_internal::HugeRegion::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length
    - tcmalloc_internal::HugeRegion::UnbackHugepages
    - tcmalloc_internal::HugeRegion::free_backed
    - NHugePages
    - std::min
    - HugeLength::in_pages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeRegion::Release(Length desired)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:308,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:313,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:313,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:314,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:315,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:315,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:319,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:320,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:320,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:322,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:325,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:327,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:330,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:332,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:334,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:346,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:348,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:355,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:355,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region.h:356,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 357
    functionName: tcmalloc_internal::HugeRegion::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_pages
    - Length::raw_num
    - start
    - first_page
    - HugePageContaining
    - Length
    - TC_CHECK_EQ
    - NHugePages
    - NextFreeRange
    - TC_ASSERT
    - std::min
    - tcmalloc_internal::HugeRegion::unmapped_pages
    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:360,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: tcmalloc_internal::HugeRegion::free_backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 3
    functionsReached:
    - Length
    - NHugePages
    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: 378
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 378
    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:381,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:382,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:383,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:384,1
    - Dst: tcmalloc_internal::HugeRegion::backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:384,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_region.h:385,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:386,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: tcmalloc_internal::HugeRegion::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_pages
    - tcmalloc_internal::HugeRegion::used_pages
    - HugeLength::in_mib
    - in_bytes
    - tcmalloc_internal::HugeRegion::size
    - printf
    - tcmalloc_internal::HugeRegion::backed
    - tcmalloc_internal::HugeRegion::longest_free
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: tcmalloc_internal::HugeRegion::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:395,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:396,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:396,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: tcmalloc_internal::HugeRegion::longest_free
      Src: /src/tcmalloc/tcmalloc/huge_region.h:397,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:398,1
    - Dst: tcmalloc_internal::HugeRegion::backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:398,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:399,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:399,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region.h:400,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:401,1
    - Dst: tcmalloc_internal::HugeRegion::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' detail'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: tcmalloc_internal::HugeRegion::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::free_pages
    - tcmalloc_internal::HugeRegion::used_pages
    - in_bytes
    - PrintI64
    - tcmalloc_internal::HugeRegion::size
    - HugeLength::in_bytes
    - tcmalloc_internal::HugeRegion::free_backed
    - tcmalloc_internal::HugeRegion::backed
    - tcmalloc_internal::HugeRegion::longest_free
    linkageType: ''
    returnType: void
    signature: void HugeRegion::PrintInPbtxt(PbtxtRegion& detail) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_region.h:406,1
    - Dst: tcmalloc_internal::HugeRegion::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:407,1
    - Dst: tcmalloc_internal::HugeRegion::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 410
    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:414,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:415,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:416,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:416,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:417,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:417,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:418,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:419,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - from_released
    argTypes:
    - Range
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: tcmalloc_internal::HugeRegion::Inc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - start
    - first_page
    - HugePageContaining
    - Length
    - NHugePages
    - std::min
    - TC_ASSERT_LE
    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:434,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region.h:435,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:436,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:436,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region.h:437,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_region.h:438,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:439,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:439,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:440,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:441,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:443,1
    - Dst: tcmalloc_internal::HugeRegion::UnbackHugepages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - release
    argTypes:
    - Range
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 452
    functionName: tcmalloc_internal::HugeRegion::Dec
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - start
    - first_page
    - HugePageContaining
    - Length
    - tcmalloc_internal::HugeRegion::UnbackHugepages
    - NHugePages
    - TC_ASSERT_GE
    - TC_ASSERT
    - std::min
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void HugeRegion::Dec(Range r, bool release)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:456,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:468,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_region.h:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:469,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_region.h:470,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_region.h:475,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - should_unback
    argTypes:
    - bool[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 485
    functionName: tcmalloc_internal::HugeRegion::UnbackHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 4
    functionsReached:
    - HugeRange
    - start
    - unback_
    - ABSL_PREDICT_TRUE
    - NHugePages
    - TC_ASSERT
    linkageType: ''
    returnType: HugeLength
    signature: "HugeLength HugeRegion::UnbackHugepages(\n    bool should_unback[kNumHugePages])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region.h:494,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - n
    - page
    - from_released
    argTypes:
    - Length
    - PageId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeRegionSet<Region>::MaybeGet
    - 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:508,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_region.h:510,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region.h:511,1
    - Dst: Fix
      Src: /src/tcmalloc/tcmalloc/huge_region.h:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 518
    functionName: tcmalloc_internal::HugeRegionSet<Region>::MaybePut
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - UseHugeRegionMoreOften
    - Fix
    - Put
    - contains
    linkageType: ''
    returnType: bool
    signature: bool HugeRegionSet<Region>::MaybePut(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/tcmalloc/tcmalloc/huge_region.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - Region*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: tcmalloc_internal::HugeRegionSet<Region>::Contribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - AddToList
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::Contribute(Region* region)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:529,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:531,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:532,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region.h:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - release_fraction
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 540
    functionName: tcmalloc_internal::HugeRegionSet<Region>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - std::clamp<double>
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - Release
    - Length
    linkageType: ''
    returnType: Length
    signature: Length HugeRegionSet<Region>::ReleasePages(double release_fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:544,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:545,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:548,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:549,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::Print
      Src: /src/tcmalloc/tcmalloc/huge_region.h:552,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:553,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:554,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region.h:555,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:558,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:561,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:561,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:562,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_region.h:564,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region.h:565,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:567,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region.h:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 570
    functionName: tcmalloc_internal::HugeRegionSet<Region>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - Length::raw_num
    - free_pages
    - tcmalloc_internal::HugeRegionSet<Region>::free_backed
    - tcmalloc_internal::HugeRegionSet<Region>::Print
    - HugeLength::raw_num
    - Length
    - tcmalloc_internal::HugeRegion::size
    - static_cast<double>
    - printf
    - NHugePages
    - backed
    - HugeLength::in_pages
    linkageType: ''
    returnType: void
    signature: void HugeRegionSet<Region>::Print(Printer& out) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:574,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region.h:575,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_region.h:577,1
    - Dst: tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_region.h:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 2
    functionsReached:
    - CreateSubRegion
    - PrintI64
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::HugeRegionSet<Region>::PrintInPbtxt
    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:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 588
    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: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    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:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 603
    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:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: tcmalloc_internal::HugeRegionSet<Region>::free_backed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region.h
    functionUses: 6
    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::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:539,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:540,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:542,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:543,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:545,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:547,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:559,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:561,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:594,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:594,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:594,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:601,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:606,1
    - Dst: NumberOfFreePages::free_backed::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:607,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:608,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:613,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:615,1
    - Dst: SubreleaseStatsEntry::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:616,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:625,1
    - Dst: num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:629,1
    - Dst: free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:630,1
    - Dst: unmapped_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:631,1
    - Dst: total_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:632,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:633,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:634,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:635,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:638,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:646,1
    - Dst: absl::ToInt64Seconds
      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: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:655,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:655,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:657,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:661,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:662,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:662,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:663,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:668,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:669,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:681,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:681,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:682,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:683,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:683,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:689,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:690,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:692,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:693,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:696,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:698,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: total_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: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:702,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:705,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:706,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:707,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:707,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:708,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:709,1
    - Dst: CreateSubRegion
      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:716,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:717,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:720,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:721,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:722,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:722,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:723,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:723,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:730,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:731,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:732,1
    - Dst: min_free_pages::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: min_free_backed_pages::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_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:736,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:737,1
    - Dst: num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:738,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:739,1
    - Dst: num_partial_alloc_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:742,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:744,1
    - Dst: SubreleaseStats::num_pages::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: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:750,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:751,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:752,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:753,1
    - Dst: SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:754,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 231
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 761
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - SubreleaseStatsEntry::empty
    - GetEpochAtOffset
    - absl::ZeroDuration
    - SkippedSubreleaseEntry
    - IterBackwards
    - total_huge_pages
    - TC_ASSERT_LE
    - tcmalloc_internal::Length::max
    - ReportSkippedSubreleasePages
    - TC_ASSERT_GE
    - NumberOfFreePages::free_backed::in_mib
    - PbtxtRegion::CreateSubRegion
    - total_skipped
    - static_cast<int64_t>
    - SubreleaseStatsEntry
    - SkippedSubreleaseDecision
    - safe_div
    - Iter
    - free_pages::raw_num
    - Length
    - correctly_skipped
    - HugeLength::raw_num
    - auto::CreateSubRegion
    - PbtxtRegion::PrintI64
    - Report
    - NumberOfFreePages::free_backed::raw_num
    - std::min
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
    - raw_num
    - unmapped_pages::raw_num
    - Length::raw_num
    - min_free_pages
    - num_partial_alloc_pages_subreleased::raw_num
    - absl::ToInt64Milliseconds
    - CreateSubRegion
    - empty
    - pending_skipped
    - GetRecentDemand
    - absl::ToInt64Seconds
    - CalculateDemandPeak
    - min_free_pages::raw_num
    - std::clamp
    - std::max
    - absl::ToInt64Minutes
    - auto::PrintI64
    - num_pages::raw_num
    - SubreleaseStats::num_pages::raw_num
    - ABSL_PREDICT_FALSE
    - min_free_backed_pages::raw_num
    - std::min<int64_t>
    - num_pages_subreleased::raw_num
    - printf
    - NHugePages
    - NumberOfFreePages::free::raw_num
    - num_hugepages_broken::raw_num
    - ReportUpdatedPeak
    - CalculateCombinedDemandTrend
    - SubreleaseStats::used_pages_in_subreleased_huge_pages::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: 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::Report
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
    - 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:
    - tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
    - GetEpochAtOffset
    - ABSL_PREDICT_FALSE
    - ReportUpdatedPeak
    - std::max
    - tcmalloc_internal::SubreleaseStatsTracker::Report
    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:
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    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
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    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:
    - Length
    - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    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:
    - static_cast<int64_t>
    - IterBackwards
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - Length
    - tcmalloc_internal::Length::max
    - std::clamp
    - std::min
    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:
    - IterBackwards
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - Length
    - tcmalloc_internal::Length::max
    - std::min<int64_t>
    - std::min
    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:
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    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::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:539,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:540,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:542,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:543,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:545,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:547,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:559,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - short_interval
    - long_interval
    argTypes:
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 571
    functionName: tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - absl::ZeroDuration
    - IterBackwards
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - std::min<int64_t>
    - TC_ASSERT_GE
    - std::min
    - std::max
    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:594,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:594,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: tcmalloc_internal::safe_div
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 1
    functionsReached:
    - Length::raw_num
    - tcmalloc_internal::safe_div
    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:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:601,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:606,1
    - Dst: NumberOfFreePages::free_backed::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:607,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:608,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:613,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:615,1
    - Dst: SubreleaseStatsEntry::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:616,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:625,1
    - Dst: num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:629,1
    - Dst: free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:630,1
    - Dst: unmapped_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:631,1
    - Dst: total_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:632,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:633,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:634,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:635,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:638,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:646,1
    - Dst: absl::ToInt64Seconds
      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: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:655,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:655,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:657,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:661,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:662,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:662,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:663,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:668,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:669,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:681,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:681,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:682,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:683,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' out'
    - field
    argTypes:
    - Printer
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 684
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - SubreleaseStatsEntry::empty
    - total_huge_pages
    - IterBackwards
    - NumberOfFreePages::free_backed::in_mib
    - total_skipped
    - safe_div
    - static_cast<int64_t>
    - Iter
    - free_pages::raw_num
    - correctly_skipped
    - HugeLength::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - raw_num
    - Length::raw_num
    - min_free_pages
    - empty
    - absl::ToInt64Seconds
    - pending_skipped
    - absl::ToInt64Minutes
    - num_pages::raw_num
    - printf
    - NHugePages
    - NumberOfFreePages::free::raw_num
    - unmapped_pages::raw_num
    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:689,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:690,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:692,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:693,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:696,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:698,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: total_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: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:702,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:705,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:706,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:707,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:707,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:708,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' hpaa'
    - field
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 710
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintSubreleaseStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - raw_num
    - total_skipped
    - absl::ToInt64Milliseconds
    - CreateSubRegion
    - correctly_skipped
    - PbtxtRegion::PrintI64
    - pending_skipped
    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: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:716,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:717,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:720,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:721,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:722,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:722,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:723,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:723,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:730,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:731,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:732,1
    - Dst: min_free_pages::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: min_free_backed_pages::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_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:736,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:737,1
    - Dst: num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:738,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:739,1
    - Dst: num_partial_alloc_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:742,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:744,1
    - Dst: SubreleaseStats::num_pages::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: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:750,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:751,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:752,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:753,1
    - Dst: SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ' hpaa'
    - field
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintTimeseriesStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - PbtxtRegion::CreateSubRegion
    - auto::PrintI64
    - num_partial_alloc_pages_subreleased::raw_num
    - min_free_pages
    - raw_num
    - absl::ToInt64Milliseconds
    - Iter
    - CreateSubRegion
    - SubreleaseStats::num_pages::raw_num
    - min_free_backed_pages::raw_num
    - auto::CreateSubRegion
    - PbtxtRegion::PrintI64
    - num_pages_subreleased::raw_num
    - num_hugepages_broken::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - NumberOfFreePages::free::raw_num
    - min_free_pages::raw_num
    - SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
    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::Report
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Zero
    - 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:
    - tcmalloc_internal::SubreleaseStatsTracker::pending_skipped
    - GetEpochAtOffset
    - ABSL_PREDICT_FALSE
    - ReportUpdatedPeak
    - std::max
    - tcmalloc_internal::SubreleaseStatsTracker::Report
    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:
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    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
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::CalculateDemandPeak
    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:
    - Length
    - tcmalloc_internal::SubreleaseStatsTracker::ReportSkippedSubreleasePages
    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:
    - static_cast<int64_t>
    - IterBackwards
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - Length
    - tcmalloc_internal::Length::max
    - std::clamp
    - std::min
    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:
    - IterBackwards
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - Length
    - tcmalloc_internal::Length::max
    - std::min<int64_t>
    - std::min
    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:
    - std::min
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    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::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:534,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:536,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:539,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:540,1
    - Dst: std::min<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:542,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:543,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:545,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:547,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:559,1
    - Dst: tcmalloc_internal::SubreleaseStatsTracker::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - short_interval
    - long_interval
    argTypes:
    - absl::Duration
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 571
    functionName: tcmalloc_internal::SubreleaseStatsTracker::CalculateCombinedDemandTrend
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - absl::ZeroDuration
    - IterBackwards
    - tcmalloc_internal::SubreleaseStatsTracker::empty
    - std::min<int64_t>
    - TC_ASSERT_GE
    - std::min
    - std::max
    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:594,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:594,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: tcmalloc_internal::safe_div
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 2
    functionsReached:
    - Length::raw_num
    - tcmalloc_internal::safe_div
    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:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:601,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:606,1
    - Dst: NumberOfFreePages::free_backed::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:607,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:608,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:609,1
    - Dst: IterBackwards
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:613,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:615,1
    - Dst: SubreleaseStatsEntry::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:616,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:625,1
    - Dst: num_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:629,1
    - Dst: free_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:630,1
    - Dst: unmapped_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:631,1
    - Dst: total_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:632,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:633,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:634,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:635,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:638,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:640,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:644,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:645,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:646,1
    - Dst: absl::ToInt64Seconds
      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: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:653,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:655,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:655,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:657,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:661,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:662,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:662,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:663,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:668,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:669,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:677,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:681,1
    - Dst: absl::ToInt64Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:681,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:682,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:683,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' out'
    - field
    argTypes:
    - Printer
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 684
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - SubreleaseStatsEntry::empty
    - total_huge_pages
    - IterBackwards
    - NumberOfFreePages::free_backed::in_mib
    - total_skipped
    - safe_div
    - static_cast<int64_t>
    - Iter
    - free_pages::raw_num
    - correctly_skipped
    - HugeLength::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - raw_num
    - Length::raw_num
    - min_free_pages
    - empty
    - absl::ToInt64Seconds
    - pending_skipped
    - absl::ToInt64Minutes
    - num_pages::raw_num
    - printf
    - NHugePages
    - NumberOfFreePages::free::raw_num
    - unmapped_pages::raw_num
    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:689,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:690,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:692,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:693,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:696,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:698,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:699,1
    - Dst: total_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: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:701,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:702,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:703,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: total_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:704,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:705,1
    - Dst: correctly_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:706,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:707,1
    - Dst: pending_skipped
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:707,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:708,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' hpaa'
    - field
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 710
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintSubreleaseStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - raw_num
    - total_skipped
    - absl::ToInt64Milliseconds
    - CreateSubRegion
    - correctly_skipped
    - PbtxtRegion::PrintI64
    - pending_skipped
    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: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:716,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:717,1
    - Dst: min_free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:719,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:720,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:721,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:722,1
    - Dst: NumberOfFreePages::free::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:722,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:723,1
    - Dst: NumberOfFreePages::free_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:723,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:728,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:730,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:731,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:732,1
    - Dst: min_free_pages::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: min_free_backed_pages::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_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:736,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:737,1
    - Dst: num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:738,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:739,1
    - Dst: num_partial_alloc_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:740,1
    - Dst: auto::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:742,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:744,1
    - Dst: SubreleaseStats::num_pages::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: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:750,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:751,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:752,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:753,1
    - Dst: SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_subrelease.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ' hpaa'
    - field
    argTypes:
    - PbtxtRegion
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::SubreleaseStatsTracker<kEpochs>::PrintTimeseriesStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_subrelease.h
    functionUses: 0
    functionsReached:
    - PbtxtRegion::CreateSubRegion
    - auto::PrintI64
    - num_partial_alloc_pages_subreleased::raw_num
    - min_free_pages
    - raw_num
    - absl::ToInt64Milliseconds
    - Iter
    - CreateSubRegion
    - SubreleaseStats::num_pages::raw_num
    - min_free_backed_pages::raw_num
    - auto::CreateSubRegion
    - PbtxtRegion::PrintI64
    - num_pages_subreleased::raw_num
    - num_hugepages_broken::raw_num
    - NumberOfFreePages::free_backed::raw_num
    - NumberOfFreePages::free::raw_num
    - min_free_pages::raw_num
    - SubreleaseStats::used_pages_in_subreleased_huge_pages::raw_num
    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:57,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:57,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:61,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:65,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:66,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:67,1
    - Dst: CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:91,1
    - Dst: SizeInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:104,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:109,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:110,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:110,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:123,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:129,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:130,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:144,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:146,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:148,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:159,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:166,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:167,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:170,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:171,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:172,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:172,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:173,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:177,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:177,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:181,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:182,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:182,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:184,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:191,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:191,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:192,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:192,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:193,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:197,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:198,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:198,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:201,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:202,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:203,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:203,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:204,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:205,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:206,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:211,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:212,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:212,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:213,1
    - Dst: try_lock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:221,1
    - Dst: GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:224,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:225,1
    - Dst: GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:231,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:232,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:233,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:237,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:238,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:242,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:243,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:245,1
    - Dst: try_lock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:246,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:248,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:252,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:252,1
    - Dst: Commit
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:257,1
    - Dst: Commit
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:257,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:264,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:265,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:266,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:267,1
    - Dst: Total
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:268,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:269,1
    - Dst: Total
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:270,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:272,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:281,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:287,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:290,1
    - Dst: SetSlotInfo
      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:301,1
    - Dst: GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:302,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:309,1
    - Dst: GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:310,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:318,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:328,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:332,1
    - Dst: SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:339,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:341,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:344,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:344,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:348,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:348,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:367,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:368,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:369,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:370,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:425,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:426,1
    - Dst: FetchCommitIntervalMisses
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:440,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:445,1
    - Dst: std::array::begin
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:445,1
    - Dst: std::array::end
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:445,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:459,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:469,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:477,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:488,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:491,1
    - Dst: ResizeCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:503,1
    - Dst: ResizeCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:506,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 187
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 510
    functionName: namespace tcmalloc::tcmalloc_internal::internal_transfer_cache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - data
    - freelist
    - memcpy
    - std::min<int>
    - Commit
    - TC_ASSERT_GE
    - IncreaseCacheCapacity
    - ShrinkCache
    - std::array::begin
    - std::array::end
    - Inc
    - Alloc
    - CanIncreaseCapacity
    - SizeInfo
    - std::max<int>
    - SetSlotInfo
    - GetSlotInfo
    - GetSlot
    - std::min
    - LossyAdd
    - static_cast<uint64_t>
    - TC_ASSERT_GT
    - store
    - size
    - FetchCommitIntervalMisses
    - CapacityNeeded
    - Total
    - try_lock
    - empty
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - static_cast<size_t>
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - exchange
    - load
    - ABSL_PREDICT_FALSE
    - value
    - ABSL_PREDICT_TRUE
    - std::sort
    - unlock
    - ResizeCaches
    - TC_ASSERT
    - TC_ASSERT_LE
    - reinterpret_cast<void**>
    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:57,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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:61,1
    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: 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:65,1
    - Dst: exchange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:66,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: MissCounts::Commit
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - exchange
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: size_t
    signature: size_t Commit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransferCache::CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - owner
    - size_class
    - priority_list_length
    argTypes:
    - Manager*
    - int
    - central_freelist_internal::PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: TransferCache::TransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - TransferCache::CapacityNeeded
    linkageType: ''
    returnType: void
    signature: "void TransferCache(\n      Manager* owner, int size_class,\n      central_freelist_internal::PriorityListLength
      priority_list_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SizeInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:104,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:109,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:110,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - owner
    - size_class
    - capacity
    - priority_list_length
    argTypes:
    - Manager*
    - int
    - Capacity
    - central_freelist_internal::PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: TransferCache::TransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - Alloc
    - freelist
    - reinterpret_cast<void**>
    - SizeInfo
    linkageType: ''
    returnType: void
    signature: "void TransferCache(\n      Manager* owner, int size_class, Capacity
      capacity,\n      central_freelist_internal::PriorityListLength priority_list_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    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: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    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:123,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:129,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:130,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:144,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:146,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 151
    functionName: TransferCache::CapacityNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - std::min<int>
    - std::max<int>
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - std::min
    - TC_ASSERT_GT
    linkageType: ''
    returnType: Capacity
    signature: Capacity CapacityNeeded(size_t size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:159,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:160,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:166,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:167,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:170,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:171,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:172,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:172,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:173,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:177,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:177,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:181,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:182,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:182,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - TransferCache::SetSlotInfo
    - size
    - data
    - Inc
    - freelist
    - load
    - memcpy
    - TC_ASSERT
    - GetSlot
    - std::min
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:191,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:191,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:192,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:192,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:193,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:197,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:198,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:198,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:201,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:202,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:203,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:203,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:204,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:205,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:206,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:211,1
    - Dst: Inc
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:212,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:212,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 214
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - TransferCache::SetSlotInfo
    - size
    - data
    - Inc
    - freelist
    - load
    - memcpy
    - std::min<int>
    - empty
    - TC_ASSERT
    - GetSlot
    - std::min
    - LossyAdd
    - TC_ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: try_lock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:221,1
    - Dst: TransferCache::GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:224,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:225,1
    - Dst: TransferCache::GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:231,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:232,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:233,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:237,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:238,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:242,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:243,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:245,1
    - Dst: try_lock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:246,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 249
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - freelist
    - memcpy
    - try_lock
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - TransferCache::GetSlotInfo
    - unlock
    - TransferCache::SetSlotInfo
    - GetSlot
    - std::min
    - TC_ASSERT_LE
    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:252,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.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: 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:257,1
    - Dst: Commit
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.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: 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:264,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:265,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:266,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:267,1
    - Dst: Total
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:268,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:269,1
    - Dst: Total
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:270,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - Total
    - value
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    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:287,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:290,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - load
    - TransferCache::SetSlotInfo
    - 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:301,1
    - Dst: TransferCache::GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - TransferCache::GetSlotInfo
    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:309,1
    - Dst: TransferCache::GetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: TransferCache::HasSpareCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - TransferCache::GetSlotInfo
    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:318,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:324,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:328,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:332,1
    - Dst: TransferCache::SetSlotInfo
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:339,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:341,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:344,1
    - Dst: GetSlot
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:344,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:348,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 350
    functionName: TransferCache::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 0
    functionsReached:
    - freelist
    - static_cast<uint64_t>
    - load
    - memcpy
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - TransferCache::SetSlotInfo
    - GetSlot
    - 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: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    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: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    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: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    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:367,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:368,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:369,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - SizeInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: TransferCache::SetSlotInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 5
    functionsReached:
    - store
    - TC_ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void SetSlotInfo(SizeInfo info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:425,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:426,1
    - Dst: FetchCommitIntervalMisses
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:440,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:445,1
    - Dst: std::array::begin
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:445,1
    - Dst: std::array::end
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:445,1
    - Dst: CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:459,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:469,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:477,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:488,1
    - Dst: IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:491,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 2
    argNames:
    - ' manager'
    - start_size_class
    argTypes:
    - Manager
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 497
    functionName: ResizeCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_internals.h
    functionUses: 1
    functionsReached:
    - FetchCommitIntervalMisses
    - std::array::end
    - ABSL_PREDICT_FALSE
    - CanIncreaseCapacity
    - std::sort
    - TC_ASSERT_GE
    - IncreaseCacheCapacity
    - ShrinkCache
    - std::array::begin
    - TC_ASSERT_LE
    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:503,1
    - Dst: ResizeCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache_internals.h:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 508
    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: 160
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:68,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:69,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:182,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:184,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:185,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:190,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:190,1
    - Dst: allocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:191,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:193,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:194,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:199,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:274,1
    - Dst: nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:275,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:277,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:328,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:347,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:349,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:350,1
    - Dst: unback
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:365,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:366,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:432,1
    - Dst: ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:438,1
    - Dst: ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:441,1
    - Dst: ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:444,1
    - Dst: ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:447,1
    - Dst: ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:450,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:459,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:491,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:498,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:499,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:504,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:510,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:514,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:516,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:522,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:526,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:565,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:570,1
    - Dst: IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:573,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:626,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:627,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:628,1
    - Dst: BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:633,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:637,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:638,1
    - Dst: BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:641,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:645,1
    - Dst: IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:650,1
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:657,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:662,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:665,1
    - Dst: NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:667,1
    - Dst: Residency::SinglePageBitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:668,1
    - Dst: NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: Residency::SinglePageBitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: CountInfoInHugePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:673,1
    - Dst: NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:675,1
    - Dst: NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:678,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:679,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:680,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:684,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:685,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:693,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:701,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:703,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:711,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:718,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:722,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:725,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:727,1
    - Dst: PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:730,1
    - Dst: PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:732,1
    - Dst: PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:734,1
    - Dst: PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:736,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:739,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:741,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:743,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:745,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:747,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:748,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:749,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:753,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:758,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:760,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:763,1
    - Dst: PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:764,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:768,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:771,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:774,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:775,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:777,1
    - Dst: PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:779,1
    - Dst: PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:781,1
    - Dst: PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:783,1
    - Dst: PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:786,1
    - Dst: PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:790,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:791,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:793,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:794,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:795,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:796,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:797,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:798,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:799,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:800,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:801,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:802,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:803,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:804,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:805,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:806,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:807,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:814,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:818,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:818,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:818,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:822,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:823,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:828,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:829,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:832,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:838,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:840,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:849,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:851,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:853,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:860,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:861,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:862,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:867,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:878,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:880,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:885,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:885,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:888,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:890,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:892,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:897,1
    - Dst: TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:898,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:901,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:906,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:914,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:921,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:922,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:923,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:927,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:935,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:936,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:937,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:940,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:948,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:949,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:953,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:959,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:970,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:987,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:992,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1006,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1011,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1023,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1103,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1110,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1114,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1115,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1118,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1119,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1126,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1128,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1131,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1133,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1140,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1140,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1178,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1243,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1243,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1265,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1270,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1326,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1327,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1330,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1339,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1341,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1341,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1342,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1342,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1345,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1348,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1401,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1401,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1404,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1404,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1412,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1415,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1419,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1419,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1420,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1420,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1421,1
    - Dst: set_anon_vma_name
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1433,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1434,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1441,1
    - Dst: bits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1441,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1443,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1443,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1444,1
    - Dst: absl::bit_width<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1446,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1447,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1455,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1462,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1472,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1478,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1492,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1494,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1510,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1515,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1519,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1523,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1523,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1524,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1528,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1545,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1545,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1546,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1556,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1557,1
    - Dst: BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1557,1
    - Dst: SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1558,1
    - Dst: collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1566,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1566,1
    - Dst: SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1567,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1577,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1578,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1582,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1583,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1585,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1586,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1588,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1589,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1603,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1605,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1614,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1617,1
    - Dst: preferential_collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1631,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1639,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1640,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1640,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1658,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1658,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1659,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1660,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1726,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1734,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1736,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1736,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1739,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1740,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1740,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1745,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1747,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1747,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1749,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1749,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1750,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1753,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1758,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1764,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1768,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1768,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1771,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1772,1
    - Dst: TrackerType*::RecordFeatures
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1773,1
    - Dst: TrackerType*::SetLastAllocationTime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1775,1
    - Dst: TrackerType*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1776,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1777,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1783,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1786,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1786,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1787,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1791,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1791,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1792,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1798,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1799,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1800,1
    - Dst: TrackerType*::alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1800,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1802,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1803,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1805,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1819,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1822,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1824,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1826,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1834,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1835,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1836,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1839,1
    - Dst: RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1851,1
    - Dst: TrackerType*::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1852,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1853,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1854,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1857,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1861,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1862,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1862,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1864,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1865,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1866,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1867,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1868,1
    - Dst: unback_without_lock_
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: TrackerType*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1881,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1887,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1888,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1889,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1896,1
    - Dst: RecordLifetime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1897,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1898,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1899,1
    - Dst: TrackerType*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1901,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1906,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1907,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1945,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1965,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1966,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1968,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1969,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1970,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1971,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1974,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1975,1
    - Dst: TrackerType*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1976,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1977,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1978,1
    - Dst: TrackerType*::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1979,1
    - Dst: TrackerType*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1991,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1996,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2004,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2008,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2008,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: PageTracker*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2011,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2019,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2020,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2047,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2047,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2052,1
    - Dst: TrackerType*::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2053,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2055,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2056,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2058,1
    - Dst: TrackerType*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2058,1
    - Dst: DonateToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2059,1
    - Dst: TrackerType*::SetHasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2062,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2064,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2068,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2077,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2077,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2077,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: TrackerType*::BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2083,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2090,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2094,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: CompareForSubrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2102,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2114,1
    - Dst: absl::c_sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2122,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2125,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2129,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2131,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2142,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2142,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2143,1
    - Dst: TrackerType*::unbroken
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2146,1
    - Dst: RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2149,1
    - Dst: TrackerType*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2150,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2154,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2159,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2160,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2173,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2182,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2185,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2188,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2191,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2194,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2194,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2206,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2207,1
    - Dst: UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2210,1
    - Dst: IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2214,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2216,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2218,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2222,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2224,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2250,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2251,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2273,1
    - Dst: FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2280,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2286,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2290,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2303,1
    - Dst: GetDesiredSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2304,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2310,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2326,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2329,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2330,1
    - Dst: ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2338,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2354,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2355,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2358,1
    - Dst: SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2362,1
    - Dst: ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2368,1
    - Dst: TrackerType*::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2380,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2383,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2386,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2387,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2388,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2395,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2396,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2397,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2407,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2409,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2410,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2412,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2413,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2414,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2415,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2416,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2423,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2428,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2432,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2448,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2450,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2475,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2494,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2495,1
    - Dst: nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2500,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2501,1
    - Dst: TrackerType*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2514,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2516,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2516,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2517,1
    - Dst: CompareForHugePageTreatment
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2523,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2526,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2526,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2527,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2530,1
    - Dst: TrackerType*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2531,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2532,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2534,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2534,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2535,1
    - Dst: TrackerType*::GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2539,1
    - Dst: PushCandidate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2543,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2546,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2546,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: PushCandidate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2548,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2572,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2582,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2582,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2586,1
    - Dst: PageFlagsBase*::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2587,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2587,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2589,1
    - Dst: Residency*::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: PageTracker::HugePageResidencyState::bitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2601,1
    - Dst: PageTracker::HugePageResidencyState::bitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2602,1
    - Dst: TryUserspaceCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2605,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2615,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2618,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2619,1
    - Dst: PageTracker*::SetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2620,1
    - Dst: tracker_state::bitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2630,1
    - Dst: PageTracker*::fully_freed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2631,1
    - Dst: HandleReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2632,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2633,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2635,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2650,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2656,1
    - Dst: PageTracker*::Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2657,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2658,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2659,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2662,1
    - Dst: UpdateCollapseErrorStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2668,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2674,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2717,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2727,1
    - Dst: ShouldBackoffFromCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2736,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2752,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2754,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2760,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2764,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2766,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2771,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2780,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2782,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2784,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2789,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2791,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2795,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2797,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2800,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2802,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2806,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2808,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: SampledTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2813,1
    - Dst: HugePageUnbackedTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: HugePageUnbackedTrackerTreatment::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2816,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2818,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2819,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2821,1
    - Dst: UpdateMaxBackoffDelay
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2823,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2827,1
    - Dst: SampledTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2828,1
    - Dst: HugePageUnbackedTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2829,1
    - Dst: HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2831,1
    - Dst: PageTracker*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2836,1
    - Dst: RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2843,1
    - Dst: PageTracker*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2844,1
    - Dst: AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2848,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2855,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2856,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2860,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2863,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2864,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2864,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2865,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2865,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2867,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2870,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2871,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2872,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2873,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2874,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2877,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2880,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2881,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2882,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2883,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2884,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2886,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2889,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2890,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2891,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2892,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2893,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2895,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2896,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2896,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2903,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2906,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2909,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2910,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2912,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2914,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2915,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2915,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2916,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2918,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2919,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2922,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2925,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2926,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2927,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2928,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2932,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2938,1
    - Dst: collapse_errors::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2941,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2942,1
    - Dst: tcmalloc_internal::ErrorTypeToString
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2943,1
    - Dst: static_cast<CollapseErrorType>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2944,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2947,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2949,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2952,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2953,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2955,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2960,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2965,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2966,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2971,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2972,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2976,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2978,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2981,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2988,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2990,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2993,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2999,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3001,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3004,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3010,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3012,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3015,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3021,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3023,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3026,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3032,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3034,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3037,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3043,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3045,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3048,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3051,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3055,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3056,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3058,1
    - Dst: PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3061,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3064,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3065,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3072,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3073,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3074,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3074,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3075,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3075,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3076,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3077,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3078,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3079,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3085,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3089,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3092,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3093,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3093,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3094,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3094,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3097,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3099,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3100,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3102,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3103,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3105,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3108,1
    - Dst: PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3111,1
    - Dst: PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3113,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3116,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3116,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3117,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3118,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3119,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3120,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3121,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3123,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3124,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3126,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3126,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3127,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3129,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3131,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3132,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3133,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3134,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3135,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3136,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3137,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3138,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3139,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3140,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3141,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3142,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3144,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3145,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3147,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3151,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3152,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3156,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3158,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3161,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3167,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3169,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3172,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3178,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3180,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3183,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3189,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3191,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3194,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3200,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3202,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3205,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3211,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3213,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3216,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3222,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3224,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3227,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3230,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3231,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3234,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3235,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3237,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3239,1
    - Dst: collapse_errors::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3241,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3243,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3244,1
    - Dst: tcmalloc_internal::ErrorTypeToString
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3245,1
    - Dst: static_cast<CollapseErrorType>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3246,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3247,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3250,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3252,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3253,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3255,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3256,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3258,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3262,1
    - Dst: PrintLifetimeHistoInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3266,1
    - Dst: PrintLifetimeHistoInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3269,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3272,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3274,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3281,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3282,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3283,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3289,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3292,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3294,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3296,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3302,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3303,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3309,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3309,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3314,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3318,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3321,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3327,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3328,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3329,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3336,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3337,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3343,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3343,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3347,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3354,1
    - Dst: SparseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3357,1
    - Dst: DenseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3359,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3361,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3367,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3368,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3370,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3371,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3371,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3375,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3380,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3381,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3382,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3382,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3383,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3384,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3384,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3385,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3387,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3388,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3388,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3389,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3396,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3400,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3401,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3407,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3408,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3411,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3411,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3412,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3412,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3413,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3421,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3423,1
    - Dst: ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3428,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3429,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3430,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3430,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3431,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3432,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3434,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3435,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3441,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3442,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3445,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3445,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3446,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3450,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3450,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3458,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3459,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3460,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3463,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3466,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3467,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3468,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3474,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3475,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3476,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3477,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3479,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3481,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3482,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3488,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3488,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3488,1
    CyclomaticComplexity: 207
    EdgeCount: 207
    ICount: 1304
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 3492
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - RoundDown
    - GetBit
    - TypeToStr
    - SampledTrackerTreatment::SelectEligibleTrackers
    - Unmark
    - ASSUME
    - GetStats
    - HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    - num_free_unbacked::raw_num
    - PbtxtRegion::PrintRaw
    - ReportSkippedSubreleasePages
    - TC_ASSERT_EQ
    - Print
    - TrackerType*::set_was_released
    - TrackerType*::nobjects
    - std::push_heap
    - BeingCollapsed
    - num_free_non_hugepage_backed::raw_num
    - UsageInfo::Print
    - first
    - PageTracker*::SetHugePageResidencyState
    - longest_free_range::raw_num
    - TrackerType*::Get
    - FreePagesInPartialAllocs
    - unback_without_lock_
    - PageTracker*::fully_freed
    - num_used_swapped::raw_num
    - PageTracker*::location
    - NextFreeRange
    - Report
    - UsageInfo::HugepageBackedPreviouslyReleased
    - num_used_non_hugepage_backed::raw_num
    - PrintLifetimeHisto
    - in_bytes
    - AllocType
    - std::upper_bound
    - set_anon_vma_name
    - unback
    - bits
    - SetRange
    - TrackerType*::nallocs
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - in_pages
    - TrackerType*::RecordFeatures
    - PushCandidate
    - reset
    - std::max
    - total_hugepages_broken_due_to_limit::raw_num
    - SelectCandidates
    - PrintSampledTrackers
    - HasDenseSpans
    - TrackerType*::alloctime
    - LifetimeBucketNum
    - ABSL_PREDICT_FALSE
    - set_limit_hit
    - CandidateArray::data
    - std::clamp<double>
    - allocs
    - TrackerType*::GetHugePageResidencyState
    - PrintI64
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - __builtin_trap
    - HandleReleaseFree
    - printf
    - HugePageUnbackedTrackerTreatment::GetStats
    - HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
    - TrackerType*::AddSpanStats
    - tcmalloc_internal::ErrorTypeToIndex
    - PrintSubreleaseStatsInPbtxt
    - UsageInfo::Record
    - TrackerType*::BeingCollapsed
    - static_cast<size_t>
    - static_cast<CollapseErrorType>
    - TrackerType*::set_donated
    - n::raw_num
    - CompareForHugePageTreatment
    - begin
    - free_pages
    - PageTracker::HugePageResidencyState::bitmaps::swapped::CountBits
    - SkipSubreleaseEnabled
    - ReleaseCandidates
    - TrackerType*::donated
    - collapse_errors::size
    - tcmalloc_internal::ErrorTypeToString
    - TrackerType*::DontFreeTracker
    - TrackerType*::HasDenseSpans
    - HugeLength::in_pages
    - SparseListFor
    - TrackerType*::free_pages
    - pages_allocated
    - UpdateCollapseErrorStats
    - ListFor
    - PageTracker*::SetAnonVmaName
    - PbtxtRegion::CreateSubRegion
    - TrackerType*::empty
    - was_released
    - Iter
    - first_page
    - SampledTrackerTreatment::Restore
    - Length
    - HugePageUnbackedTrackerTreatment::Restore
    - SetBeingCollapsed
    - PbtxtRegion::PrintI64
    - PrintAllocStatsInPbtxt
    - Range
    - limit_hit
    - TC_ASSERT_GT
    - CountBits
    - raw_num
    - TC_CHECK_NE
    - BucketNum
    - used_pages_in_partial_released
    - PageTracker*::Collapse
    - GetPageSize
    - num_free_hugepage_backed::raw_num
    - TrackerType*::used_pages
    - GetRecentDemand
    - used_pages
    - PrintHisto
    - TC_BUG
    - used
    - absl::bit_width<uint8_t>
    - static_cast<double>
    - CountInfoInHugePage
    - IsPeakIntervalSet
    - auto::PrintI64
    - lock
    - AddToFillerList
    - Residency*::GetUnbackedAndSwappedBitmaps
    - FindAndMark
    - TrackerType*::SetDontFreeTracker
    - absl::bit_ceil
    - ShouldBackoffFromCollapse
    - NHugePages
    - num_used_hugepage_backed::raw_num
    - ClearRange
    - TC_ASSERT_LT
    - TrackerType*::location
    - TC_CHECK_LE
    - __builtin_clzl
    - collapse
    - num_free_swapped::raw_num
    - IndexFor
    - total_pages_subreleased_due_to_limit::raw_num
    - nallocs
    - TrackerType*::SetHasDenseSpans
    - longest_free
    - tracker_state::bitmaps::swapped::IsZero
    - UpdateFillerStatsTracker
    - used_pages_in_any_subreleased
    - safe_div
    - DenseListFor
    - auto::PrintDouble
    - TrackerType*::released_pages
    - TrackerType*::ReleaseFree
    - MemoryTagToLabel
    - Residency::SinglePageBitmaps::unbacked::CountBits
    - GetHugePageResidencyState
    - TrackerType*::SetAnonVmaName
    - GetTagState
    - std::min
    - Length::raw_num
    - size
    - std::max<double>
    - Add
    - std::make_heap
    - nobjects
    - CreateSubRegion
    - freq
    - PageTracker::HugePageResidencyState::bitmaps::unbacked::CountBits
    - HugePageUnbackedTrackerTreatment::Treat
    - PrintLifetimeHistoInPbtxt
    - num_used_unbacked::raw_num
    - PrintTimeseriesStatsInPbtxt
    - DonateToFillerList
    - ReleasePages
    - UpdateMaxBackoffDelay
    - ObjectType
    - IsHugepageBacked
    - absl::SNPrintF
    - location
    - unlock
    - TC_ASSERT
    - released
    - TrackerType*::Put
    - end
    - Residency::SinglePageBitmaps::swapped::CountBits
    - auto::PrintBool
    - GetDesiredSubreleasePages
    - alloctime
    - PageTracker*::ReleaseFree
    - length
    - NativePageBucketNum
    - TrackerType*::was_released
    - TC_ASSERT_GE
    - Remove
    - TrackerType*::released
    - last_page_allocation_time
    - PrintNativePageHisto
    - std::pop_heap
    - TrackerType*::longest_free_range
    - FindSet
    - PageFlagsBase*::IsHugepageBacked
    - TryUserspaceCollapse
    - absl::Milliseconds
    - TrackerType*::unbroken
    - RecordLifetime
    - TrackerType*::GetTagState
    - SampledTrackerTreatment::Treat
    - used_pages_in_released
    - previously_released_huge_pages
    - now
    - static_cast<uint64_t>
    - TC_ASSERT_NE
    - absl::ToDoubleSeconds
    - GetLeast
    - PageTracker*::SetDontFreeTracker
    - longest_free_range
    - absl::ToInt64Milliseconds
    - absl::MakeSpan
    - hugepage_frac
    - absl::c_sort
    - empty
    - absl::Minutes
    - TrackerType*::was_donated
    - HugeRange
    - GetRecentPeak
    - features
    - FindClear
    - ErrorTypeToIndex
    - RemoveFromFillerList
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::max
    - TrackerType*::SetLastAllocationTime
    - ABSL_PREDICT_TRUE
    - Bitmap::FindSet
    - TrackerType*::SetTagState
    - preferential_collapse
    - CompareForSubrelease
    - unmapped_pages
    - total_hugepages_broken::raw_num
    - remove
    - prepend
    - TC_ASSERT_LE
    - Bitmap::GetBit
    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: 124
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 124
    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: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    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: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    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: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    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: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    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: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    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: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    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: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    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: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    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:182,1
    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::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:184,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    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:190,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:190,1
    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::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:191,1
    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::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: []
    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::nobjects
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nobjects() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:193,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    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:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    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: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    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:
    - Dst: tcmalloc_internal::PageTracker::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::PageTracker::fully_freed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::longest_free_range
    linkageType: ''
    returnType: bool
    signature: bool fully_freed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    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: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    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: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    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: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    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: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    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: 256
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 256
    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: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    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: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    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: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    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:274,1
    - Dst: tcmalloc_internal::PageTracker::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:275,1
    - Dst: tcmalloc_internal::PageTracker::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: tcmalloc_internal::PageTracker::RecordFeatures
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::nallocs
    - tcmalloc_internal::PageTracker::nobjects
    - 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: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    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: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    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: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    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:365,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ' unback'
    argTypes:
    - Range
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - CollapseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 429
    functionName: tcmalloc_internal::ErrorTypeToString
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ErrorTypeToString(CollapseErrorType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - CollapseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: tcmalloc_internal::ErrorTypeToIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t ErrorTypeToIndex(CollapseErrorType type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:438,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:441,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:444,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:447,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - error_number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: tcmalloc_internal::UpdateCollapseErrorStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ErrorTypeToIndex
    linkageType: ''
    returnType: void
    signature: void UpdateCollapseErrorStats(int error_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HugePageTreatmentStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 466
    functionName: '& operator+=(const HugePageTreatmentStats& rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: HugePageTreatmentStats
    signature: HugePageTreatmentStats & operator+=(const HugePageTreatmentStats& rhs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:491,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:498,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:499,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:504,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:510,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:514,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:516,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:522,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:526,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:565,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 566
    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
    - GetPageSize
    - Length
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void UsageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:570,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tracker'
    - ' pageflags'
    argTypes:
    - TrackerType
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 575
    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: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:626,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:627,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:628,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:633,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:637,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:638,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:641,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:645,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:650,1
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:657,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:662,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:665,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:667,1
    - Dst: Residency::SinglePageBitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:668,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: Residency::SinglePageBitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: CountInfoInHugePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:673,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:675,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:678,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:679,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:680,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:684,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:685,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 6
    argNames:
    - ' pt'
    - ' pageflags'
    - clock_now
    - clock_frequency
    - ' records'
    - ' num_selected'
    argTypes:
    - TrackerType
    - PageFlagsBase
    - double
    - double
    - UsageInfoRecords
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 698
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - alloctime
    - nallocs
    - last_page_allocation_time
    - absl::Milliseconds
    - was_released
    - Length
    - Residency::SinglePageBitmaps::unbacked::CountBits
    - GetHugePageResidencyState
    - GetTagState
    - Length::raw_num
    - std::max<double>
    - longest_free_range
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - used_pages
    - CountInfoInHugePage
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    - features
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    - Residency::SinglePageBitmaps::swapped::CountBits
    linkageType: ''
    returnType: void
    signature: "void Record(const TrackerType& pt, PageFlagsBase& pageflags, double
      clock_now,\n              double clock_frequency, UsageInfoRecords& records,\n
      \             size_t& num_selected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:701,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:703,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:711,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:718,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:722,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:725,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:727,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:730,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:732,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:734,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:736,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:739,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:741,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:743,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:745,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:747,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:748,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:749,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:753,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:758,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:760,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:763,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' records'
    - type
    - ' out'
    argTypes:
    - UsageInfoRecords
    - Type
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - absl::ToInt64Milliseconds
    - num_free_swapped::raw_num
    - num_free_hugepage_backed::raw_num
    - num_used_unbacked::raw_num
    - num_used_swapped::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - printf
    - num_free_unbacked::raw_num
    - num_used_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    - num_used_non_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - num_free_non_hugepage_backed::raw_num
    linkageType: ''
    returnType: void
    signature: void Print(UsageInfoRecords& records, Type type, Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:768,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:771,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:774,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:775,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:777,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:779,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:781,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:783,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:786,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:790,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:791,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:793,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:794,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:795,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:796,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:797,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:798,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:799,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:800,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:801,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:802,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:803,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:804,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:805,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:806,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - ' records'
    - type
    - ' hpaa'
    argTypes:
    - UsageInfoRecords
    - Type
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 808
    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::AllocType
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - num_free_swapped::raw_num
    - CreateSubRegion
    - num_free_hugepage_backed::raw_num
    - num_used_swapped::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    - PbtxtRegion::PrintI64
    - num_free_unbacked::raw_num
    - PbtxtRegion::PrintRaw
    - num_used_hugepage_backed::raw_num
    - num_used_unbacked::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    - num_used_non_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - num_free_non_hugepage_backed::raw_num
    linkageType: ''
    returnType: void
    signature: void Print(UsageInfoRecords& records, Type type, PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:822,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    linkageType: ''
    returnType: int
    signature: int BucketNum(size_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:828,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:829,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 834
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:838,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    linkageType: ''
    returnType: int
    signature: int NativePageBucketNum(size_t page)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:849,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:851,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:853,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: 854
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    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 PrintNativePageHisto(Printer& out, Histo h, Type type,\n                            absl::string_view
      blurb, size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:860,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:861,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:862,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:867,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: 869
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 869
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void PrintNativePageHisto(PbtxtRegion& hpaa, Histo h, absl::string_view
      key,\n                            size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:878,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:880,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: 881
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 881
    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:885,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:885,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:888,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:890,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - LifetimeHisto
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 893
    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, LifetimeHisto h, Type type,\n
      \                         absl::string_view blurb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:897,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:898,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:901,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:906,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' out'
    - type
    - ' records'
    argTypes:
    - Printer
    - Type
    - UsageInfoRecords
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 915
    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,\n                            UsageInfoRecords&
      records)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:921,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:922,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:923,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:927,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: 929
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 929
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    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:935,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:936,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:937,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - LifetimeHisto
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 942
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void PrintLifetimeHisto(PbtxtRegion& hpaa, LifetimeHisto h,\n                          absl::string_view
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:948,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:949,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:953,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:959,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' hpaa'
    - type
    - key
    - ' records'
    argTypes:
    - PbtxtRegion
    - Type
    - absl::string_view
    - UsageInfoRecords
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 967
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - auto::PrintI64
    - auto::PrintBool
    - CreateSubRegion
    - longest_free_range::raw_num
    - auto::PrintDouble
    linkageType: ''
    returnType: void
    signature: "void PrintSampledTrackers(PbtxtRegion& hpaa, Type type, absl::string_view
      key,\n                            UsageInfoRecords& records)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:970,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 989
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 5
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    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:992,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1008
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    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:1011,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1025
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectType(Type type) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:491,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:498,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:499,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:504,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:510,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:514,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:516,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:522,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:526,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:565,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 566
    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
    - GetPageSize
    - Length
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void UsageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:570,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tracker'
    - ' pageflags'
    argTypes:
    - TrackerType
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 575
    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: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:626,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:627,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:628,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:633,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:637,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:638,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:641,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:645,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:650,1
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:657,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:662,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:665,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:667,1
    - Dst: Residency::SinglePageBitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:668,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: Residency::SinglePageBitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: CountInfoInHugePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:673,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:675,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:678,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:679,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:680,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:684,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:685,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 6
    argNames:
    - ' pt'
    - ' pageflags'
    - clock_now
    - clock_frequency
    - ' records'
    - ' num_selected'
    argTypes:
    - TrackerType
    - PageFlagsBase
    - double
    - double
    - UsageInfoRecords
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 698
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - alloctime
    - nallocs
    - last_page_allocation_time
    - absl::Milliseconds
    - was_released
    - Length
    - Residency::SinglePageBitmaps::unbacked::CountBits
    - GetHugePageResidencyState
    - GetTagState
    - Length::raw_num
    - std::max<double>
    - longest_free_range
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - used_pages
    - CountInfoInHugePage
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    - features
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    - Residency::SinglePageBitmaps::swapped::CountBits
    linkageType: ''
    returnType: void
    signature: "void Record(const TrackerType& pt, PageFlagsBase& pageflags, double
      clock_now,\n              double clock_frequency, UsageInfoRecords& records,\n
      \             size_t& num_selected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:701,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:703,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:711,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:718,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:722,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:725,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:727,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:730,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:732,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:734,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:736,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:739,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:741,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:743,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:745,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:747,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:748,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:749,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:753,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:758,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:760,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:763,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' records'
    - type
    - ' out'
    argTypes:
    - UsageInfoRecords
    - Type
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - absl::ToInt64Milliseconds
    - num_free_swapped::raw_num
    - num_free_hugepage_backed::raw_num
    - num_used_unbacked::raw_num
    - num_used_swapped::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - printf
    - num_free_unbacked::raw_num
    - num_used_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    - num_used_non_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - num_free_non_hugepage_backed::raw_num
    linkageType: ''
    returnType: void
    signature: void Print(UsageInfoRecords& records, Type type, Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:768,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:771,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:774,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:775,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:777,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:779,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:781,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:783,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:786,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:790,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:791,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:793,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:794,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:795,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:796,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:797,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:798,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:799,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:800,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:801,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:802,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:803,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:804,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:805,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:806,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - ' records'
    - type
    - ' hpaa'
    argTypes:
    - UsageInfoRecords
    - Type
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 808
    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::AllocType
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - num_free_swapped::raw_num
    - CreateSubRegion
    - num_free_hugepage_backed::raw_num
    - num_used_swapped::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    - PbtxtRegion::PrintI64
    - num_free_unbacked::raw_num
    - PbtxtRegion::PrintRaw
    - num_used_hugepage_backed::raw_num
    - num_used_unbacked::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    - num_used_non_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - num_free_non_hugepage_backed::raw_num
    linkageType: ''
    returnType: void
    signature: void Print(UsageInfoRecords& records, Type type, PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:822,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    linkageType: ''
    returnType: int
    signature: int BucketNum(size_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:828,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:829,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 834
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:838,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    linkageType: ''
    returnType: int
    signature: int NativePageBucketNum(size_t page)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:849,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:851,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:853,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: 854
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    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 PrintNativePageHisto(Printer& out, Histo h, Type type,\n                            absl::string_view
      blurb, size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:860,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:861,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:862,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:867,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: 869
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 869
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void PrintNativePageHisto(PbtxtRegion& hpaa, Histo h, absl::string_view
      key,\n                            size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:878,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:880,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: 881
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 881
    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:885,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:885,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:888,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:890,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - LifetimeHisto
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 893
    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, LifetimeHisto h, Type type,\n
      \                         absl::string_view blurb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:897,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:898,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:901,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:906,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' out'
    - type
    - ' records'
    argTypes:
    - Printer
    - Type
    - UsageInfoRecords
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 915
    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,\n                            UsageInfoRecords&
      records)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:921,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:922,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:923,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:927,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: 929
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 929
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    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:935,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:936,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:937,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - LifetimeHisto
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 942
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void PrintLifetimeHisto(PbtxtRegion& hpaa, LifetimeHisto h,\n                          absl::string_view
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:948,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:949,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:953,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:959,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' hpaa'
    - type
    - key
    - ' records'
    argTypes:
    - PbtxtRegion
    - Type
    - absl::string_view
    - UsageInfoRecords
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 967
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - auto::PrintI64
    - auto::PrintBool
    - CreateSubRegion
    - longest_free_range::raw_num
    - auto::PrintDouble
    linkageType: ''
    returnType: void
    signature: "void PrintSampledTrackers(PbtxtRegion& hpaa, Type type, absl::string_view
      key,\n                            UsageInfoRecords& records)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:970,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 989
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 10
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    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:992,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1008
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    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:1011,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1025
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectType(Type type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1099
    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:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - AccessDensityPrediction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    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: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    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:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1110
    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: 1111
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1111
    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:1114,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1115,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1118,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1124
    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:1126,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1128,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1131,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1138
    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:1140,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1139
    functionDepth: 2
    functionLinenumber: 1139
    functionLinenumberEnd: 1141
    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_partial_released
    - tcmalloc_internal::HugePageFiller::used_pages_in_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: 1146
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    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: 1183
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1183
    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: 1187
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1187
    functionName: tcmalloc_internal::HugePageFiller::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:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1243,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1244
    functionName: tcmalloc_internal::HugePageFiller::PageTrackerLists::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1326,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1327,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1332
    functionName: tcmalloc_internal::HugePageFiller::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1339,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1341,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1341,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1342,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1342,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1345,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - absl_nonnull
    - absl_nonnull
    argTypes:
    - TrackerType*
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1336
    functionDepth: 3
    functionLinenumber: 1336
    functionLinenumberEnd: 1349
    functionName: tcmalloc_internal::HugePageFiller::CompareForSubrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller::used_pages
    - HasDenseSpans
    - TC_ASSERT_NE
    linkageType: ''
    returnType: bool
    signature: "bool CompareForSubrelease(const TrackerType* absl_nonnull a,\n                                   const
      TrackerType* absl_nonnull b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1401,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1401,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1404,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1404,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1412,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1415,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1419,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1419,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1420,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1420,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::PageTracker::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - ABSL_PREDICT_FALSE
    - first_page
    - Length
    - FindAndMark
    - ClearRange
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - CountBits
    linkageType: ''
    returnType: typename PageTracker::PageAllocation
    signature: "typename PageTracker::PageAllocation PageTracker::Get(\n    Length
      n, SpanAllocInfo span_alloc_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_anon_vma_name
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,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: 1427
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1427
    functionName: tcmalloc_internal::PageTracker::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - set_anon_vma_name
    - first_page
    - Range
    linkageType: ''
    returnType: void
    signature: "void PageTracker::SetAnonVmaName(MemoryTagFunction& set_anon_vma_name,\n
      \                                       std::optional<absl::string_view> name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1433,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1434,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1441,1
    - Dst: bits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1441,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1443,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1443,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1444,1
    - Dst: absl::bit_width<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1446,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1447,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1455,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1462,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1472,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - bitmaps
    argTypes:
    - Residency::SinglePageBitmaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1489
    functionName: tcmalloc_internal::PageTracker::CountInfoInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - absl::bit_width<uint8_t>
    - bits
    - GetPageSize
    - Bitmap::FindSet
    - TC_ASSERT_EQ
    - TC_ASSERT_LE
    - Bitmap::GetBit
    linkageType: ''
    returnType: PageTracker::NativePageResidencyInfo
    signature: "PageTracker::NativePageResidencyInfo PageTracker::CountInfoInHugePage(\n
      \   Residency::SinglePageBitmaps bitmaps) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1492,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - span_alloc_info
    argTypes:
    - Range
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1496
    functionName: tcmalloc_internal::PageTracker::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - Unmark
    - first_page
    - Range::n::raw_num
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void PageTracker::Put(Range r, SpanAllocInfo span_alloc_info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1510,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1515,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1519,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1523,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1523,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1524,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: tcmalloc_internal::PageTracker::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1528,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1545,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1545,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ' unback'
    argTypes:
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1547
    functionName: tcmalloc_internal::PageTracker::ReleaseFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleasePages
    - SetRange
    - first_page
    - Length
    - ABSL_PREDICT_TRUE
    - NextFreeRange
    - Range
    - TC_ASSERT_EQ
    - std::min
    - TC_ASSERT_LE
    - 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:1556,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1557,1
    - Dst: tcmalloc_internal::PageTracker::BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1557,1
    - Dst: tcmalloc_internal::PageTracker::SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1558,1
    - Dst: collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1566,1
    - Dst: tcmalloc_internal::PageTracker::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1566,1
    - Dst: tcmalloc_internal::PageTracker::SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' collapse'
    argTypes:
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1571
    functionName: tcmalloc_internal::PageTracker::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::released
    - collapse
    - first_page
    - tcmalloc_internal::PageTracker::BeingCollapsed
    - Range
    - TC_ASSERT
    - tcmalloc_internal::PageTracker::SetBeingCollapsed
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: "MemoryModifyStatus PageTracker::Collapse(\n    MemoryModifyFunction&
      collapse)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1577,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1578,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1582,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1583,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1585,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1586,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1588,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1589,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1603,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1605,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1612
    functionName: tcmalloc_internal::PageTracker::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - GetBit
    - FindClear
    - Length
    - NextFreeRange
    - std::min
    - TC_ASSERT_GT
    - FindSet
    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:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1614
    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:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1618
    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:
    - Dst: preferential_collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - tag
    - ' unback'
    - ' unback_without_lock'
    - ' collapse'
    - ' set_anon_vma_name'
    argTypes:
    - MemoryTag
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1631
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - preferential_collapse
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::HugePageFiller(\n    MemoryTag tag,
      MemoryModifyFunction& unback,\n    MemoryModifyFunction& unback_without_lock,
      MemoryModifyFunction& collapse,\n    MemoryTagFunction& set_anon_vma_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1639,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1640,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - clock
    - tag
    - ' unback'
    - ' unback_without_lock'
    - ' collapse'
    - ' set_anon_vma_name'
    - options
    argTypes:
    - Clock
    - MemoryTag
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryTagFunction
    - HugePageFillerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1653
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - NHugePages
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::HugePageFiller(\n    Clock clock,
      MemoryTag tag, MemoryModifyFunction& unback,\n    MemoryModifyFunction& unback_without_lock,
      MemoryModifyFunction& collapse,\n    MemoryTagFunction& set_anon_vma_name, HugePageFillerOptions
      options)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1658,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1658,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1659,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1660,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1726,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1734,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1736,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1736,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1739,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1740,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1740,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1745,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1747,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1747,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1749,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1749,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1750,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1753,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1758,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1764,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1768,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1768,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1771,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1772,1
    - Dst: TrackerType*::RecordFeatures
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1773,1
    - Dst: TrackerType*::SetLastAllocationTime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1775,1
    - Dst: TrackerType*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1776,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1777,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1783,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1786,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1786,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1787,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1791,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1791,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1792,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1794
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::TryGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TrackerType*::donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - TC_ASSERT_GE
    - TrackerType*::released
    - TrackerType*::was_released
    - TrackerType*::set_was_released
    - TrackerType*::HasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::longest_free_range
    - TrackerType*::GetTagState
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - TrackerType*::Get
    - Length
    - now
    - TC_ASSERT_GT
    - raw_num
    - Length::raw_num
    - GetLeast
    - TrackerType*::used_pages
    - TrackerType*::RecordFeatures
    - TrackerType*::SetLastAllocationTime
    - ABSL_PREDICT_TRUE
    - TC_ASSERT
    linkageType: ''
    returnType: typename HugePageFiller<TrackerType>::TryGetResult
    signature: typename HugePageFiller<TrackerType>::TryGetResult HugePageFiller<TrackerType>::TryGet(Length
      n, SpanAllocInfo span_alloc_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1798,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1799,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1800,1
    - Dst: TrackerType*::alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1800,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1802,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1803,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1805,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1810
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::RecordLifetime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - std::max<double>
    - TrackerType*::alloctime
    - absl::Milliseconds
    - LifetimeBucketNum
    - freq
    - now
    - TrackerType*::HasDenseSpans
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::RecordLifetime(const TrackerType*
      pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1819,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1822,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1824,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - LifetimeHisto
    - AccessDensityPrediction
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1827
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintLifetimeHisto(\n    Printer&
      out, LifetimeHisto h, AccessDensityPrediction type,\n    absl::string_view blurb)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1834,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1835,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1836,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - LifetimeHisto
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1841
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt(\n    PbtxtRegion&
      hpaa, LifetimeHisto h, absl::string_view key)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1851,1
    - Dst: TrackerType*::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1852,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1853,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1854,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1857,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1861,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1862,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1862,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1864,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1865,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1866,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1867,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1868,1
    - Dst: unback_without_lock_
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: TrackerType*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1881,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1887,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1888,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1889,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1896,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RecordLifetime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1897,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1898,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1899,1
    - Dst: TrackerType*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1901,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1906,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - pt
    - r
    - span_alloc_info
    argTypes:
    - TrackerType*
    - Range
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1909
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::location
    - TrackerType*::was_released
    - TC_ASSERT_GE
    - TrackerType*::released
    - TC_ASSERT_EQ
    - TrackerType*::DontFreeTracker
    - TrackerType*::set_was_released
    - TrackerType*::HasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::longest_free_range
    - TrackerType*::free_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - TrackerType*::GetTagState
    - TrackerType*::released_pages
    - unback_without_lock_
    - tcmalloc_internal::HugePageFiller<TrackerType>::RecordLifetime
    - TrackerType*::SetAnonVmaName
    - TrackerType*::nallocs
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    - HugeRange
    - ABSL_PREDICT_TRUE
    - NHugePages
    - TrackerType*::Put
    linkageType: ''
    returnType: TrackerType
    signature: "TrackerType * HugePageFiller<TrackerType>::Put(\n    TrackerType*
      pt, Range r, SpanAllocInfo span_alloc_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1914
    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: 1919
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1919
    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: 1936
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1936
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - clock
    - tag
    - ' set_anon_vma_name'
    argTypes:
    - Clock
    - MemoryTag
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1942
    functionName: tcmalloc_internal::SampledTrackerTreatment::SampledTrackerTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    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: 1943
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1943
    functionName: ~SampledTrackerTreatment() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SampledTrackerTreatment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1945
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1965,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1966,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1968,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1969,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1970,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1971,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1974,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1975,1
    - Dst: nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1976,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1977,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1978,1
    - Dst: SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1979,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PageTracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1986
    functionName: tcmalloc_internal::SampledTrackerTreatment::SelectEligibleTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - std::max<double>
    - released
    - HasDenseSpans
    - longest_free_range
    - nobjects
    - freq
    - nallocs
    - GetTagState
    - now
    - absl::Minutes
    - SetDontFreeTracker
    - SetTagState
    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: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    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:1991,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1996,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2004,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2008,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2008,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: PageTracker*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 2013
    functionName: tcmalloc_internal::SampledTrackerTreatment::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - RoundDown
    - PageTracker*::SetAnonVmaName
    - MemoryTagToLabel
    - absl::SNPrintF
    - absl::bit_ceil
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    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:2016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2019,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2022
    functionName: tcmalloc_internal::SampledTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageTracker*::SetDontFreeTracker
    - TC_ASSERT_LE
    - 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:2047,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2047,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2052,1
    - Dst: TrackerType*::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2053,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2055,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2056,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2058,1
    - Dst: TrackerType*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2058,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2059,1
    - Dst: TrackerType*::SetHasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2062,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2064,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pt
    - donated
    - span_alloc_info
    argTypes:
    - TrackerType*
    - bool
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2044
    functionDepth: 1
    functionLinenumber: 2044
    functionLinenumberEnd: 2069
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Contribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - TrackerType*::SetHasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
    - TrackerType*::released_pages
    - TrackerType*::SetTagState
    - Length
    - TrackerType*::used_pages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TrackerType*::was_donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    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:2077,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2077,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2077,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2083,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2090,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2094,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: absl::Span<TrackerType*>::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: CompareForSubrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2102,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2114,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: 2117
      start: 2073
    functionDepth: 1
    functionLinenumber: 2073
    functionLinenumberEnd: 2117
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::Span<TrackerType*>::end
    - released_pages
    - std::make_heap
    - Iter
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - Length
    - absl::Span<TrackerType*>::size
    - absl::Span<TrackerType*>::begin
    - CompareForSubrelease
    - std::pop_heap
    - std::push_heap
    - TC_ASSERT_GT
    - 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:2122,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2125,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2129,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2131,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2142,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2142,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2143,1
    - Dst: TrackerType*::unbroken
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2146,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2149,1
    - Dst: TrackerType*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2150,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2154,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2159,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2160,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - candidates
    - target
    argTypes:
    - absl::Span<TrackerType*>
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2178
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::was_released
    - TC_ASSERT_GE
    - TrackerType*::released
    - TrackerType*::set_was_released
    - TrackerType*::HasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::free_pages
    - TrackerType*::unbroken
    - absl::Span<TrackerType*>::size
    - Length
    - TrackerType*::released_pages
    - TrackerType*::ReleaseFree
    - limit_hit
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    - TrackerType*::used_pages
    - absl::c_sort
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    - NHugePages
    - TC_ASSERT_LE
    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:2182,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2185,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2188,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2191,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2194,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2195
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - size
    - used_pages_in_any_subreleased
    - unmapped_pages
    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:2206,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2207,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2210,1
    - Dst: SkipSubreleaseIntervals::IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2214,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2216,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2218,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2222,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2224,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2250,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - desired
    - total_released
    - intervals
    argTypes:
    - Length
    - Length
    - SkipSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2256
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - GetRecentPeak
    - SkipSubreleaseIntervals::IsPeakIntervalSet
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - Length
    - GetRecentDemand
    - used_pages
    - ReportSkippedSubreleasePages
    - std::min
    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:2273,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2280,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2286,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2290,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2303,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2304,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2310,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2326,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2329,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2330,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2338,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2354,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2355,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2358,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2362,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2368,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: 2375
      start: 2262
    functionDepth: 2
    functionLinenumber: 2262
    functionLinenumberEnd: 2375
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
    - set_limit_hit
    - absl::MakeSpan
    - CandidateArray::data
    - tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
    - Length
    - tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
    - std::max
    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:2380,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2383,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2386,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2387,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2378
    functionDepth: 1
    functionLinenumber: 2378
    functionLinenumberEnd: 2390
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
    - Iter
    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:2395,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2396,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2393
    functionDepth: 1
    functionLinenumber: 2393
    functionLinenumberEnd: 2399
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2407,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2409,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2410,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2412,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2413,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2414,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2415,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2416,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2423,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2428,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2432,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2448,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2453
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - size
    - length
    - Length
    - NHugePages
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    linkageType: ''
    returnType: HugePageFillerStats
    signature: HugePageFillerStats HugePageFiller<TrackerType>::GetStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - clock
    - pageflags
    - residency
    - ' collapse'
    - ' page_filler'
    - enable_collapse
    - enable_release_free_swap
    - use_userspace_collapse_heuristics
    argTypes:
    - Clock
    - PageFlagsBase*
    - Residency*
    - MemoryModifyFunction
    - HugePageFiller<TrackerType>
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2472
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::HugePageUnbackedTrackerTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugePageUnbackedTrackerTreatment(\n      Clock clock, PageFlagsBase*
      pageflags, Residency* residency,\n      MemoryModifyFunction& collapse, HugePageFiller<TrackerType>&
      page_filler,\n      bool enable_collapse, bool enable_release_free_swap,\n      bool
      use_userspace_collapse_heuristics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2473
    functionName: ~HugePageUnbackedTrackerTreatment() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageUnbackedTrackerTreatment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2475
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2494,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2495,1
    - Dst: PageTracker*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: PageTracker*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: PageTracker*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: PageTracker*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: PageTracker*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2500,1
    - Dst: PageTracker*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PageTracker*
    - PageTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2493
    functionDepth: 1
    functionLinenumber: 2493
    functionLinenumberEnd: 2502
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::CompareForHugePageTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageTracker*::HasDenseSpans
    - PageTracker*::nobjects
    - TC_ASSERT_NE
    linkageType: ''
    returnType: bool
    signature: bool CompareForHugePageTreatment(PageTracker* a, PageTracker* b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2514,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2516,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2516,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2517,1
    - Dst: tcmalloc_internal::HugePageUnbackedTrackerTreatment::CompareForHugePageTreatment
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2523,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2526,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2526,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2527,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2530,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2531,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2532,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2534,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2534,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2535,1
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2539,1
    - Dst: PushCandidate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2543,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2546,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2546,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: PushCandidate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PageTracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2504
    functionDepth: 2
    functionLinenumber: 2504
    functionLinenumberEnd: 2550
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - PageTracker*::SetDontFreeTracker
    - std::max<double>
    - std::make_heap
    - tcmalloc_internal::HugePageUnbackedTrackerTreatment::CompareForHugePageTreatment
    - begin
    - freq
    - PushCandidate
    - GetHugePageResidencyState
    - now
    - SetDontFreeTracker
    - std::pop_heap
    - std::push_heap
    - TC_ASSERT_NE
    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: 2552
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2552
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2556
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::tracker_list_full
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tracker_list_full() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2572,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2582,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2582,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2586,1
    - Dst: PageFlagsBase*::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2587,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2587,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2589,1
    - Dst: Residency*::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: PageTracker::HugePageResidencyState::bitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2601,1
    - Dst: PageTracker::HugePageResidencyState::bitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2602,1
    - Dst: tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2558
    functionDepth: 1
    functionLinenumber: 2558
    functionLinenumberEnd: 2612
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageFlagsBase*::IsHugepageBacked
    - absl::ToDoubleSeconds
    - tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
    - PageTracker::HugePageResidencyState::bitmaps::unbacked::CountBits
    - freq
    - Residency*::GetUnbackedAndSwappedBitmaps
    - PageTracker::HugePageResidencyState::bitmaps::swapped::CountBits
    - PageTracker*::location
    - now
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2615,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2618,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2619,1
    - Dst: PageTracker*::SetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2620,1
    - Dst: tracker_state::bitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2630,1
    - Dst: PageTracker*::fully_freed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2631,1
    - Dst: HandleReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2632,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2633,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2614
    functionDepth: 1
    functionLinenumber: 2614
    functionLinenumberEnd: 2639
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - PageTracker*::SetDontFreeTracker
    - PageTracker*::SetHugePageResidencyState
    - PageTracker*::fully_freed
    - Length
    - HandleReleaseFree
    - tracker_state::bitmaps::swapped::IsZero
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2641
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePageTreatmentStats
    signature: HugePageTreatmentStats GetStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - HugePageTreatmentStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2652
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void UpdateHugePageTreatmentStats(HugePageTreatmentStats& stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2656,1
    - Dst: PageTracker*::Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2657,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2658,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2659,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2662,1
    - Dst: UpdateCollapseErrorStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - tracker
    argTypes:
    - PageTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2671
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - UpdateCollapseErrorStats
    - std::max<double>
    - PageTracker*::Collapse
    - now
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool TryUserspaceCollapse(PageTracker* tracker)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2710
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ShouldBackoffFromCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HugePageFiller<TrackerType>::ShouldBackoffFromCollapse()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2717,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - latency
    - enomem_errors
    argTypes:
    - absl::Duration
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2729
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateMaxBackoffDelay
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - std::min
    - std::max
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::UpdateMaxBackoffDelay(absl::Duration
      latency,\n                                                        int enomem_errors)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ShouldBackoffFromCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2736,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2752,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2754,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2760,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2764,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2766,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2771,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2780,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2782,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2784,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2789,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2791,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2795,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2797,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2800,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2802,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2806,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2808,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: SampledTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2813,1
    - Dst: HugePageUnbackedTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: HugePageUnbackedTrackerTreatment::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2816,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2818,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2819,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2821,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateMaxBackoffDelay
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2823,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2827,1
    - Dst: SampledTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2828,1
    - Dst: HugePageUnbackedTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2829,1
    - Dst: HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2831,1
    - Dst: SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 5
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    - use_userspace_collapse_heuristics
    - pageflags
    - residency
    argTypes:
    - bool
    - bool
    - bool
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2732
    functionDepth: 1
    functionLinenumber: 2732
    functionLinenumberEnd: 2838
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - lock
    - absl::Milliseconds
    - Iter
    - HugePageUnbackedTrackerTreatment::Treat
    - SampledTrackerTreatment::SelectEligibleTrackers
    - freq
    - SampledTrackerTreatment::Restore
    - HugePageUnbackedTrackerTreatment::Restore
    - SetAnonVmaName
    - HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    - HugePageUnbackedTrackerTreatment::GetStats
    - tcmalloc_internal::HugePageFiller<TrackerType>::ShouldBackoffFromCollapse
    - SampledTrackerTreatment::Treat
    - unlock
    - HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
    - tcmalloc_internal::ErrorTypeToIndex
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateMaxBackoffDelay
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::TreatHugepageTrackers(\n    bool
      enable_collapse, bool enable_release_free_swapped,\n    bool use_userspace_collapse_heuristics,
      PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2843,1
    - Dst: PageTracker*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2844,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tracker
    argTypes:
    - PageTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2841
    functionDepth: 1
    functionLinenumber: 2841
    functionLinenumberEnd: 2850
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HandleReleaseFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageTracker*::ReleaseFree
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    linkageType: ''
    returnType: Length
    signature: "Length HugePageFiller<TrackerType>::HandleReleaseFree(\n    PageTracker*
      tracker)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2855,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2856,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2860,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2863,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2864,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2864,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2865,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2865,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2867,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2870,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2871,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2872,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2873,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2874,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2877,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2880,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2881,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2882,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2883,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2884,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2886,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2889,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2890,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2891,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2892,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2893,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2895,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2896,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2896,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2903,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2906,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2909,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2910,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2912,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2914,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2915,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2915,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2916,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2918,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2919,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2922,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2925,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2926,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2927,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2928,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2932,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2938,1
    - Dst: collapse_errors::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2941,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2942,1
    - Dst: tcmalloc_internal::ErrorTypeToString
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2943,1
    - Dst: static_cast<CollapseErrorType>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2944,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2947,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2949,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2952,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2953,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2955,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2960,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2965,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2966,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2971,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2972,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2976,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2978,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2981,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2988,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2990,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2993,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2999,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3001,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3004,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3010,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3012,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3015,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3021,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3023,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3026,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3032,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3034,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3037,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3043,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3045,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3048,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3051,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3055,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3056,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3058,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3061,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3064,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 69
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 2853
    functionDepth: 2
    functionLinenumber: 2853
    functionLinenumberEnd: 3066
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::Print
    - total_pages_subreleased_due_to_limit::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - collapse_errors::size
    - tcmalloc_internal::ErrorTypeToString
    - HugeLength::in_pages
    - used_pages_in_any_subreleased
    - UsageInfo::Print
    - safe_div
    - Iter
    - tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
    - Length
    - previously_released_huge_pages
    - now
    - UsageInfo::HugepageBackedPreviouslyReleased
    - raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    - size
    - used_pages_in_partial_released
    - in_pages
    - freq
    - empty
    - static_cast<CollapseErrorType>
    - static_cast<double>
    - total_hugepages_broken_due_to_limit::raw_num
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    - unmapped_pages
    - total_hugepages_broken::raw_num
    - printf
    - TC_ASSERT
    - UsageInfo::Record
    - TC_ASSERT_LE
    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:3072,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3073,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3074,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3074,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3075,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3075,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3076,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3077,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3078,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3079,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: 3080
      start: 3069
    functionDepth: 1
    functionLinenumber: 3069
    functionLinenumberEnd: 3080
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - TC_ASSERT_LT
    - PbtxtRegion::PrintI64
    - raw_num
    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:3085,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3089,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3092,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3093,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3093,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3094,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3094,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3097,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3099,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3100,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3102,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3103,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3105,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3108,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3111,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3113,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3116,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3116,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3117,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3118,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3119,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3120,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3121,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3123,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3124,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3126,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3126,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3127,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3129,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3131,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3132,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3133,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3134,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3135,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3136,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3137,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3138,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3139,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3140,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3141,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3142,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3144,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3145,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3147,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3151,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3152,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3156,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3158,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3161,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3167,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3169,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3172,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3178,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3180,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3183,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3189,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3191,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3194,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3200,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3202,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3205,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3211,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3213,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3216,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3222,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3224,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3227,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3230,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3231,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3234,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3235,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3237,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3239,1
    - Dst: collapse_errors::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3241,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3243,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3244,1
    - Dst: tcmalloc_internal::ErrorTypeToString
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3245,1
    - Dst: static_cast<CollapseErrorType>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3246,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3247,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3250,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3252,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3253,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3255,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3256,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3258,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3262,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3266,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3269,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3272,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 2
    argNames:
    - ' hpaa'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3083
    functionDepth: 2
    functionLinenumber: 3083
    functionLinenumberEnd: 3276
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - total_pages_subreleased_due_to_limit::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - collapse_errors::size
    - PbtxtRegion::PrintRaw
    - tcmalloc_internal::ErrorTypeToString
    - used_pages_in_any_subreleased
    - UsageInfo::Print
    - PbtxtRegion::CreateSubRegion
    - tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
    - safe_div
    - Iter
    - Length
    - PbtxtRegion::PrintI64
    - previously_released_huge_pages
    - now
    - static_cast<uint64_t>
    - UsageInfo::HugepageBackedPreviouslyReleased
    - raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    - in_bytes
    - used_pages_in_partial_released
    - in_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
    - freq
    - CreateSubRegion
    - empty
    - static_cast<double>
    - PrintTimeseriesStatsInPbtxt
    - total_hugepages_broken_due_to_limit::raw_num
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    - unmapped_pages
    - total_hugepages_broken::raw_num
    - PrintI64
    - PrintSubreleaseStatsInPbtxt
    - TC_ASSERT
    - UsageInfo::Record
    - static_cast<CollapseErrorType>
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintInPbtxt(\n    PbtxtRegion&
      hpaa, PageFlagsBase& pageflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3281,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3282,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3283,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3289,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3292,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3294,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3296,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3302,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3279
    functionDepth: 1
    functionLinenumber: 3279
    functionLinenumberEnd: 3304
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - pages_allocated
    - size
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - unmapped_pages
    - reset
    - Report
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::UpdateFillerStatsTracker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3309,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3309,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3314,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3318,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3321,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3327,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3328,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - TrackerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3307
    functionDepth: 1
    functionLinenumber: 3307
    functionLinenumberEnd: 3331
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - __builtin_clzl
    - HasDenseSpans
    - nallocs
    - empty
    - TC_ASSERT
    - std::max
    linkageType: ''
    returnType: size_t
    signature: "size_t HugePageFiller<TrackerType>::IndexFor(\n    const TrackerType&
      pt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3336,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - longest
    - chunk
    argTypes:
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3338
      start: 3334
    functionDepth: 1
    functionLinenumber: 3334
    functionLinenumberEnd: 3338
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: "size_t HugePageFiller<TrackerType>::SparseListFor(\n    const Length
      longest, const size_t chunk) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3343,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3343,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - chunk
    - nallocs
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3341
    functionDepth: 1
    functionLinenumber: 3341
    functionLinenumberEnd: 3348
    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 size_t chunk,\n
      \                                                       size_t nallocs) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3354,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3357,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3359,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - longest
    - chunk
    - density
    - nallocs
    argTypes:
    - Length
    - size_t
    - AccessDensityPrediction
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3351
    functionDepth: 2
    functionLinenumber: 3351
    functionLinenumberEnd: 3363
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
    - tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
    - TC_BUG
    linkageType: ''
    returnType: size_t
    signature: "size_t HugePageFiller<TrackerType>::ListFor(\n    const Length longest,
      const size_t chunk,\n    const AccessDensityPrediction density, size_t nallocs)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3367,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3368,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3370,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3371,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3371,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3375,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3380,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3381,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3382,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3382,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3383,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3384,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3384,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3385,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3387,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3388,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3388,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3391
      start: 3366
    functionDepth: 3
    functionLinenumber: 3366
    functionLinenumberEnd: 3391
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - TrackerType*::free_pages
    - Length::raw_num
    - TC_ASSERT_LT
    - TrackerType*::nallocs
    - TrackerType*::released_pages
    - TrackerType*::used_pages
    - TrackerType*::donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - Remove
    - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    - TrackerType*::released
    - TC_ASSERT_GE
    - TrackerType*::HasDenseSpans
    - TrackerType*::longest_free_range
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::RemoveFromFillerList(TrackerType*
      pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3396,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3400,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3403
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3403
    functionName: '* absl_nullable

      HugePageFiller<TrackerType>::FetchFullyFreedTracker()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - empty
    - first
    - remove
    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:3407,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3408,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3411,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3411,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3412,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3412,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3413,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3421,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3423,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3428,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3429,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3430,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3430,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3431,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3432,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3434,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3406
    functionDepth: 3
    functionLinenumber: 3406
    functionLinenumberEnd: 3437
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 5
    functionsReached:
    - TrackerType*::free_pages
    - TrackerType*::empty
    - Add
    - TrackerType*::nallocs
    - TrackerType*::released_pages
    - TrackerType*::used_pages
    - prepend
    - TrackerType*::released
    - TrackerType*::set_donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - TC_ASSERT
    - TrackerType*::DontFreeTracker
    - TrackerType*::HasDenseSpans
    - TC_ASSERT_LE
    - TrackerType*::longest_free_range
    - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    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:3441,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3442,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3445,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3445,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3446,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3450,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3451
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - Length::raw_num
    - Add
    - TrackerType*::released
    - TC_ASSERT
    - TrackerType*::set_donated
    - TrackerType*::longest_free_range
    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:3458,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3459,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3460,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3463,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3466,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3467,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3454
    functionDepth: 1
    functionLinenumber: 3454
    functionLinenumberEnd: 3469
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - Length::raw_num
    - std::clamp<double>
    - Length
    - TC_ASSERT_LE
    - used_pages
    - TC_ASSERT_GE
    - static_cast<double>
    - used_pages_in_any_subreleased
    linkageType: ''
    returnType: double
    signature: double HugePageFiller<TrackerType>::hugepage_frac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3474,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3475,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3476,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3477,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3479,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3481,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3473
    functionDepth: 0
    functionLinenumber: 3473
    functionLinenumberEnd: 3483
    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:3488,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3488,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3489
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3489
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - size
    - used_pages
    - unmapped_pages
    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: 124
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 124
    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: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    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: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    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: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    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: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    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: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    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: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    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: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    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: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    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:182,1
    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::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:184,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    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:190,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:190,1
    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::PageTracker::longest_free_range
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    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:191,1
    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::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: []
    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::nobjects
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nobjects() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:193,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    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:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    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: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    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:
    - Dst: tcmalloc_internal::PageTracker::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::PageTracker::fully_freed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::longest_free_range
    linkageType: ''
    returnType: bool
    signature: bool fully_freed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    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: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    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: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    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: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    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: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    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: 256
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 256
    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: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    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: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    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: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    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:274,1
    - Dst: tcmalloc_internal::PageTracker::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:275,1
    - Dst: tcmalloc_internal::PageTracker::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: tcmalloc_internal::PageTracker::RecordFeatures
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::nallocs
    - tcmalloc_internal::PageTracker::nobjects
    - 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: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    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: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    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: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    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:365,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - ' unback'
    argTypes:
    - Range
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - CollapseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 429
    functionName: tcmalloc_internal::ErrorTypeToString
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ErrorTypeToString(CollapseErrorType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - CollapseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: tcmalloc_internal::ErrorTypeToIndex
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t ErrorTypeToIndex(CollapseErrorType type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:438,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:441,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:444,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:447,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - error_number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: tcmalloc_internal::UpdateCollapseErrorStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ErrorTypeToIndex
    linkageType: ''
    returnType: void
    signature: void UpdateCollapseErrorStats(int error_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HugePageTreatmentStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 466
    functionName: '& operator+=(const HugePageTreatmentStats& rhs)'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: HugePageTreatmentStats
    signature: HugePageTreatmentStats & operator+=(const HugePageTreatmentStats& rhs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:491,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:498,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:499,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:504,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:510,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:514,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:516,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:522,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:526,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:565,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 566
    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
    - GetPageSize
    - Length
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void UsageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:570,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tracker'
    - ' pageflags'
    argTypes:
    - TrackerType
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 575
    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: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:626,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:627,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:628,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:633,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:637,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:638,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:641,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:645,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:650,1
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:657,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:662,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:665,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:667,1
    - Dst: Residency::SinglePageBitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:668,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: Residency::SinglePageBitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: CountInfoInHugePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:673,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:675,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:678,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:679,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:680,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:684,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:685,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 6
    argNames:
    - ' pt'
    - ' pageflags'
    - clock_now
    - clock_frequency
    - ' records'
    - ' num_selected'
    argTypes:
    - TrackerType
    - PageFlagsBase
    - double
    - double
    - UsageInfoRecords
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 698
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - alloctime
    - nallocs
    - last_page_allocation_time
    - absl::Milliseconds
    - was_released
    - Length
    - Residency::SinglePageBitmaps::unbacked::CountBits
    - GetHugePageResidencyState
    - GetTagState
    - Length::raw_num
    - std::max<double>
    - longest_free_range
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - used_pages
    - CountInfoInHugePage
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    - features
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    - Residency::SinglePageBitmaps::swapped::CountBits
    linkageType: ''
    returnType: void
    signature: "void Record(const TrackerType& pt, PageFlagsBase& pageflags, double
      clock_now,\n              double clock_frequency, UsageInfoRecords& records,\n
      \             size_t& num_selected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:701,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:703,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:711,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:718,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:722,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:725,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:727,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:730,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:732,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:734,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:736,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:739,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:741,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:743,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:745,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:747,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:748,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:749,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:753,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:758,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:760,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:763,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' records'
    - type
    - ' out'
    argTypes:
    - UsageInfoRecords
    - Type
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - absl::ToInt64Milliseconds
    - num_free_swapped::raw_num
    - num_free_hugepage_backed::raw_num
    - num_used_unbacked::raw_num
    - num_used_swapped::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - printf
    - num_free_unbacked::raw_num
    - num_used_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    - num_used_non_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - num_free_non_hugepage_backed::raw_num
    linkageType: ''
    returnType: void
    signature: void Print(UsageInfoRecords& records, Type type, Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:768,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:771,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:774,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:775,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:777,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:779,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:781,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:783,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:786,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:790,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:791,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:793,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:794,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:795,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:796,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:797,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:798,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:799,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:800,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:801,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:802,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:803,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:804,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:805,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:806,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - ' records'
    - type
    - ' hpaa'
    argTypes:
    - UsageInfoRecords
    - Type
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 808
    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::AllocType
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - num_free_swapped::raw_num
    - CreateSubRegion
    - num_free_hugepage_backed::raw_num
    - num_used_swapped::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    - PbtxtRegion::PrintI64
    - num_free_unbacked::raw_num
    - PbtxtRegion::PrintRaw
    - num_used_hugepage_backed::raw_num
    - num_used_unbacked::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    - num_used_non_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - num_free_non_hugepage_backed::raw_num
    linkageType: ''
    returnType: void
    signature: void Print(UsageInfoRecords& records, Type type, PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:822,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    linkageType: ''
    returnType: int
    signature: int BucketNum(size_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:828,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:829,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 834
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:838,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    linkageType: ''
    returnType: int
    signature: int NativePageBucketNum(size_t page)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:849,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:851,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:853,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: 854
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    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 PrintNativePageHisto(Printer& out, Histo h, Type type,\n                            absl::string_view
      blurb, size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:860,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:861,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:862,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:867,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: 869
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 869
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void PrintNativePageHisto(PbtxtRegion& hpaa, Histo h, absl::string_view
      key,\n                            size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:878,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:880,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: 881
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 881
    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:885,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:885,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:888,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:890,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - LifetimeHisto
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 893
    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, LifetimeHisto h, Type type,\n
      \                         absl::string_view blurb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:897,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:898,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:901,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:906,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' out'
    - type
    - ' records'
    argTypes:
    - Printer
    - Type
    - UsageInfoRecords
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 915
    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,\n                            UsageInfoRecords&
      records)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:921,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:922,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:923,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:927,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: 929
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 929
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    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:935,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:936,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:937,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - LifetimeHisto
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 942
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void PrintLifetimeHisto(PbtxtRegion& hpaa, LifetimeHisto h,\n                          absl::string_view
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:948,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:949,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:953,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:959,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' hpaa'
    - type
    - key
    - ' records'
    argTypes:
    - PbtxtRegion
    - Type
    - absl::string_view
    - UsageInfoRecords
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 967
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - auto::PrintI64
    - auto::PrintBool
    - CreateSubRegion
    - longest_free_range::raw_num
    - auto::PrintDouble
    linkageType: ''
    returnType: void
    signature: "void PrintSampledTrackers(PbtxtRegion& hpaa, Type type, absl::string_view
      key,\n                            UsageInfoRecords& records)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:970,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 989
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 15
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    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:992,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1008
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    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:1011,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1025
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 3
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectType(Type type) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:491,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:498,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:499,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:503,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:504,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:510,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:514,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:516,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:522,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:526,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:565,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 566
    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
    - GetPageSize
    - Length
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void UsageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:570,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tracker'
    - ' pageflags'
    argTypes:
    - TrackerType
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 575
    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: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:626,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:627,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:628,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:631,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:632,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:633,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:635,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:637,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:638,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:641,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:645,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:648,1
    - Dst: was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:650,1
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:657,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:662,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:665,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:667,1
    - Dst: Residency::SinglePageBitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:668,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: Residency::SinglePageBitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:670,1
    - Dst: CountInfoInHugePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:673,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:675,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:678,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:679,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:680,1
    - Dst: features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:684,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:685,1
    - Dst: last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 6
    argNames:
    - ' pt'
    - ' pageflags'
    - clock_now
    - clock_frequency
    - ' records'
    - ' num_selected'
    argTypes:
    - TrackerType
    - PageFlagsBase
    - double
    - double
    - UsageInfoRecords
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 698
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Record
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - alloctime
    - nallocs
    - last_page_allocation_time
    - absl::Milliseconds
    - was_released
    - Length
    - Residency::SinglePageBitmaps::unbacked::CountBits
    - GetHugePageResidencyState
    - GetTagState
    - Length::raw_num
    - std::max<double>
    - longest_free_range
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::IsHugepageBacked
    - used_pages
    - CountInfoInHugePage
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    - features
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::LifetimeBucketNum
    - Residency::SinglePageBitmaps::swapped::CountBits
    linkageType: ''
    returnType: void
    signature: "void Record(const TrackerType& pt, PageFlagsBase& pageflags, double
      clock_now,\n              double clock_frequency, UsageInfoRecords& records,\n
      \             size_t& num_selected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:701,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:703,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:709,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:711,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:715,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:718,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:721,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:722,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:725,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:726,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:727,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:730,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:732,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:734,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:736,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:739,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:740,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:741,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:742,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:743,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:744,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:745,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:746,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:747,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:748,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:749,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:752,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:753,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:754,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:757,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:758,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:760,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:763,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' records'
    - type
    - ' out'
    argTypes:
    - UsageInfoRecords
    - Type
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - absl::ToInt64Milliseconds
    - num_free_swapped::raw_num
    - num_free_hugepage_backed::raw_num
    - num_used_unbacked::raw_num
    - num_used_swapped::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - printf
    - num_free_unbacked::raw_num
    - num_used_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    - num_used_non_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - num_free_non_hugepage_backed::raw_num
    linkageType: ''
    returnType: void
    signature: void Print(UsageInfoRecords& records, Type type, Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:768,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:769,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:770,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:771,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:772,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:774,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:775,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:777,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:779,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:781,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:783,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:784,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:786,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:788,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:790,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:791,1
    - Dst: num_free_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:792,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:793,1
    - Dst: num_used_non_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:794,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:795,1
    - Dst: num_free_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:796,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:797,1
    - Dst: num_used_hugepage_backed::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:798,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:799,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:800,1
    - Dst: num_free_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:801,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:802,1
    - Dst: num_used_swapped::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:803,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:804,1
    - Dst: num_free_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:805,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:806,1
    - Dst: num_used_unbacked::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - ' records'
    - type
    - ' hpaa'
    argTypes:
    - UsageInfoRecords
    - Type
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 808
    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::AllocType
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    - num_free_swapped::raw_num
    - CreateSubRegion
    - num_free_hugepage_backed::raw_num
    - num_used_swapped::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    - PbtxtRegion::PrintI64
    - num_free_unbacked::raw_num
    - PbtxtRegion::PrintRaw
    - num_used_hugepage_backed::raw_num
    - num_used_unbacked::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    - num_used_non_hugepage_backed::raw_num
    - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    - num_free_non_hugepage_backed::raw_num
    linkageType: ''
    returnType: void
    signature: void Print(UsageInfoRecords& records, Type type, PbtxtRegion& hpaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:822,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::BucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    linkageType: ''
    returnType: int
    signature: int BucketNum(size_t page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:828,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:829,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 834
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:838,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::NativePageBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    linkageType: ''
    returnType: int
    signature: int NativePageBucketNum(size_t page)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:846,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:849,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:851,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:853,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: 854
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    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 PrintNativePageHisto(Printer& out, Histo h, Type type,\n                            absl::string_view
      blurb, size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:860,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:861,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:862,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:867,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: 869
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 869
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void PrintNativePageHisto(PbtxtRegion& hpaa, Histo h, absl::string_view
      key,\n                            size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:873,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:876,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:878,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:880,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: 881
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 881
    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:885,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:885,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:888,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:890,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - LifetimeHisto
    - Type
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 893
    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, LifetimeHisto h, Type type,\n
      \                         absl::string_view blurb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:897,1
    - Dst: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:898,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:901,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:906,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' out'
    - type
    - ' records'
    argTypes:
    - Printer
    - Type
    - UsageInfoRecords
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 915
    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,\n                            UsageInfoRecords&
      records)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:921,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:922,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:923,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:927,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: 929
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 929
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    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:935,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:936,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:937,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - LifetimeHisto
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 942
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void PrintLifetimeHisto(PbtxtRegion& hpaa, LifetimeHisto h,\n                          absl::string_view
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:948,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:949,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:951,1
    - Dst: longest_free_range::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:953,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:954,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:956,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:959,1
    - Dst: auto::PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' hpaa'
    - type
    - key
    - ' records'
    argTypes:
    - PbtxtRegion
    - Type
    - absl::string_view
    - UsageInfoRecords
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 967
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintSampledTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - auto::PrintI64
    - auto::PrintBool
    - CreateSubRegion
    - longest_free_range::raw_num
    - auto::PrintDouble
    linkageType: ''
    returnType: void
    signature: "void PrintSampledTrackers(PbtxtRegion& hpaa, Type type, absl::string_view
      key,\n                            UsageInfoRecords& records)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:970,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 989
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::TypeToStr
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 20
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    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:992,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1008
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::AllocType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    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:1011,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1025
    functionName: tcmalloc_internal::huge_page_filler_internal::UsageInfo::ObjectType
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT_LT
    - TC_BUG
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectType(Type type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1099
    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:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - AccessDensityPrediction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    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: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    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:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1110
    functionName: tcmalloc_internal::HugePageFiller::used_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    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: 1111
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1111
    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:1114,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1115,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1118,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1124
    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:1126,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1128,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1131,1
    - Dst: tcmalloc_internal::HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1138
    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:1140,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1139
    functionDepth: 2
    functionLinenumber: 1139
    functionLinenumberEnd: 1141
    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_partial_released
    - tcmalloc_internal::HugePageFiller::used_pages_in_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: 1146
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    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: 1183
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1183
    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: 1187
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1187
    functionName: tcmalloc_internal::HugePageFiller::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:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1243,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1244
    functionName: tcmalloc_internal::HugePageFiller::PageTrackerLists::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1326,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1327,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1332
    functionName: tcmalloc_internal::HugePageFiller::LifetimeBucketNum
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - std::upper_bound
    - absl::ToInt64Milliseconds
    linkageType: ''
    returnType: int
    signature: int LifetimeBucketNum(absl::Duration duration)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1339,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1341,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1341,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1342,1
    - Dst: tcmalloc_internal::HugePageFiller::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1342,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1345,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - absl_nonnull
    - absl_nonnull
    argTypes:
    - TrackerType*
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1336
    functionDepth: 3
    functionLinenumber: 1336
    functionLinenumberEnd: 1349
    functionName: tcmalloc_internal::HugePageFiller::CompareForSubrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller::used_pages
    - HasDenseSpans
    - TC_ASSERT_NE
    linkageType: ''
    returnType: bool
    signature: "bool CompareForSubrelease(const TrackerType* absl_nonnull a,\n                                   const
      TrackerType* absl_nonnull b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1401,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1401,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1404,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1404,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1412,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1413,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1414,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1415,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1419,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1419,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1420,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1420,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1422
    functionName: tcmalloc_internal::PageTracker::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - ABSL_PREDICT_FALSE
    - first_page
    - Length
    - FindAndMark
    - ClearRange
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - CountBits
    linkageType: ''
    returnType: typename PageTracker::PageAllocation
    signature: "typename PageTracker::PageAllocation PageTracker::Get(\n    Length
      n, SpanAllocInfo span_alloc_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_anon_vma_name
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1426,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: 1427
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1427
    functionName: tcmalloc_internal::PageTracker::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - set_anon_vma_name
    - first_page
    - Range
    linkageType: ''
    returnType: void
    signature: "void PageTracker::SetAnonVmaName(MemoryTagFunction& set_anon_vma_name,\n
      \                                       std::optional<absl::string_view> name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1433,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1434,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1437,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1441,1
    - Dst: bits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1441,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1443,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1443,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1444,1
    - Dst: absl::bit_width<uint8_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1445,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1446,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1447,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1455,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1462,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1472,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - bitmaps
    argTypes:
    - Residency::SinglePageBitmaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1489
    functionName: tcmalloc_internal::PageTracker::CountInfoInHugePage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - TC_ASSERT_LT
    - absl::bit_width<uint8_t>
    - bits
    - GetPageSize
    - Bitmap::FindSet
    - TC_ASSERT_EQ
    - TC_ASSERT_LE
    - Bitmap::GetBit
    linkageType: ''
    returnType: PageTracker::NativePageResidencyInfo
    signature: "PageTracker::NativePageResidencyInfo PageTracker::CountInfoInHugePage(\n
      \   Residency::SinglePageBitmaps bitmaps) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1492,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: Range::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1493,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - span_alloc_info
    argTypes:
    - Range
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1496
    functionName: tcmalloc_internal::PageTracker::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - Unmark
    - first_page
    - Range::n::raw_num
    - TC_ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void PageTracker::Put(Range r, SpanAllocInfo span_alloc_info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1510,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1515,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1519,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1523,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1523,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1524,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: tcmalloc_internal::PageTracker::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1526,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1528,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1544,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1545,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1545,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ' unback'
    argTypes:
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1547
    functionName: tcmalloc_internal::PageTracker::ReleaseFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleasePages
    - SetRange
    - first_page
    - Length
    - ABSL_PREDICT_TRUE
    - NextFreeRange
    - Range
    - TC_ASSERT_EQ
    - std::min
    - TC_ASSERT_LE
    - 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:1556,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1557,1
    - Dst: tcmalloc_internal::PageTracker::BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1557,1
    - Dst: tcmalloc_internal::PageTracker::SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1558,1
    - Dst: collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1562,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1566,1
    - Dst: tcmalloc_internal::PageTracker::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1566,1
    - Dst: tcmalloc_internal::PageTracker::SetBeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' collapse'
    argTypes:
    - MemoryModifyFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1571
    functionName: tcmalloc_internal::PageTracker::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::released
    - collapse
    - first_page
    - tcmalloc_internal::PageTracker::BeingCollapsed
    - Range
    - TC_ASSERT
    - tcmalloc_internal::PageTracker::SetBeingCollapsed
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: "MemoryModifyStatus PageTracker::Collapse(\n    MemoryModifyFunction&
      collapse)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1577,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1578,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1582,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1583,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1585,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1586,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1588,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1589,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1603,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1605,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1612
    functionName: tcmalloc_internal::PageTracker::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - GetBit
    - FindClear
    - Length
    - NextFreeRange
    - std::min
    - TC_ASSERT_GT
    - FindSet
    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:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1614
    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:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1618
    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:
    - Dst: preferential_collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - tag
    - ' unback'
    - ' unback_without_lock'
    - ' collapse'
    - ' set_anon_vma_name'
    argTypes:
    - MemoryTag
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1631
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - preferential_collapse
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::HugePageFiller(\n    MemoryTag tag,
      MemoryModifyFunction& unback,\n    MemoryModifyFunction& unback_without_lock,
      MemoryModifyFunction& collapse,\n    MemoryTagFunction& set_anon_vma_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1639,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1640,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - clock
    - tag
    - ' unback'
    - ' unback_without_lock'
    - ' collapse'
    - ' set_anon_vma_name'
    - options
    argTypes:
    - Clock
    - MemoryTag
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryModifyFunction
    - MemoryTagFunction
    - HugePageFillerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1653
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HugePageFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::Minutes
    - NHugePages
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::HugePageFiller(\n    Clock clock,
      MemoryTag tag, MemoryModifyFunction& unback,\n    MemoryModifyFunction& unback_without_lock,
      MemoryModifyFunction& collapse,\n    MemoryTagFunction& set_anon_vma_name, HugePageFillerOptions
      options)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1658,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1658,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1659,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1660,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1726,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1733,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1734,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1736,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1736,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1739,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1740,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1740,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1745,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1747,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1747,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1749,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1749,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1750,1
    - Dst: GetLeast
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1753,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1755,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1757,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1758,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1764,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1765,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1768,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1768,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1771,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1772,1
    - Dst: TrackerType*::RecordFeatures
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1773,1
    - Dst: TrackerType*::SetLastAllocationTime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1775,1
    - Dst: TrackerType*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1776,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1777,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1782,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1783,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1786,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1786,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1787,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1791,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1791,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1792,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1656
    functionDepth: 4
    functionLinenumber: 1656
    functionLinenumberEnd: 1794
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::TryGet
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TrackerType*::donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - TC_ASSERT_GE
    - TrackerType*::released
    - TrackerType*::was_released
    - TrackerType*::set_was_released
    - TrackerType*::HasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::longest_free_range
    - TrackerType*::GetTagState
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - TrackerType*::Get
    - Length
    - now
    - TC_ASSERT_GT
    - raw_num
    - Length::raw_num
    - GetLeast
    - TrackerType*::used_pages
    - TrackerType*::RecordFeatures
    - TrackerType*::SetLastAllocationTime
    - ABSL_PREDICT_TRUE
    - TC_ASSERT
    linkageType: ''
    returnType: typename HugePageFiller<TrackerType>::TryGetResult
    signature: typename HugePageFiller<TrackerType>::TryGetResult HugePageFiller<TrackerType>::TryGet(Length
      n, SpanAllocInfo span_alloc_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1798,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1799,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1800,1
    - Dst: TrackerType*::alloctime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1800,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1802,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1803,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1805,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1810
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::RecordLifetime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - std::max<double>
    - TrackerType*::alloctime
    - absl::Milliseconds
    - LifetimeBucketNum
    - freq
    - now
    - TrackerType*::HasDenseSpans
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::RecordLifetime(const TrackerType*
      pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1819,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1822,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1824,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' out'
    - h
    - type
    - blurb
    argTypes:
    - Printer
    - LifetimeHisto
    - AccessDensityPrediction
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1827
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintLifetimeHisto(\n    Printer&
      out, LifetimeHisto h, AccessDensityPrediction type,\n    absl::string_view blurb)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1834,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1835,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1836,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' hpaa'
    - h
    - key
    argTypes:
    - PbtxtRegion
    - LifetimeHisto
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1841
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt(\n    PbtxtRegion&
      hpaa, LifetimeHisto h, absl::string_view key)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1851,1
    - Dst: TrackerType*::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1852,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1853,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1854,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1857,1
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1861,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1862,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1862,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1864,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1865,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1866,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1867,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1868,1
    - Dst: unback_without_lock_
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: HugeRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: TrackerType*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1878,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1881,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1887,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1888,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1889,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1896,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RecordLifetime
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1897,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1898,1
    - Dst: TrackerType*::GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1899,1
    - Dst: TrackerType*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1901,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1906,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - pt
    - r
    - span_alloc_info
    argTypes:
    - TrackerType*
    - Range
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1849
    functionDepth: 4
    functionLinenumber: 1849
    functionLinenumberEnd: 1909
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Put
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - TrackerType*::location
    - TrackerType*::was_released
    - TC_ASSERT_GE
    - TrackerType*::released
    - TC_ASSERT_EQ
    - TrackerType*::DontFreeTracker
    - TrackerType*::set_was_released
    - TrackerType*::HasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::longest_free_range
    - TrackerType*::free_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - TrackerType*::GetTagState
    - TrackerType*::released_pages
    - unback_without_lock_
    - tcmalloc_internal::HugePageFiller<TrackerType>::RecordLifetime
    - TrackerType*::SetAnonVmaName
    - TrackerType*::nallocs
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    - HugeRange
    - ABSL_PREDICT_TRUE
    - NHugePages
    - TrackerType*::Put
    linkageType: ''
    returnType: TrackerType
    signature: "TrackerType * HugePageFiller<TrackerType>::Put(\n    TrackerType*
      pt, Range r, SpanAllocInfo span_alloc_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1914
    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: 1919
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1919
    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: 1936
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1936
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - clock
    - tag
    - ' set_anon_vma_name'
    argTypes:
    - Clock
    - MemoryTag
    - MemoryTagFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1942
    functionName: tcmalloc_internal::SampledTrackerTreatment::SampledTrackerTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    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: 1943
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1943
    functionName: ~SampledTrackerTreatment() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SampledTrackerTreatment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1945
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1965,1
    - Dst: GetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1966,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1968,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1969,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1970,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1971,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1974,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1975,1
    - Dst: nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1976,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1977,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1978,1
    - Dst: SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1979,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PageTracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1986
    functionName: tcmalloc_internal::SampledTrackerTreatment::SelectEligibleTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - std::max<double>
    - released
    - HasDenseSpans
    - longest_free_range
    - nobjects
    - freq
    - nallocs
    - GetTagState
    - now
    - absl::Minutes
    - SetDontFreeTracker
    - SetTagState
    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: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    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:1991,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:1996,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2004,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2008,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2008,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2009,1
    - Dst: PageTracker*::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 2013
    functionName: tcmalloc_internal::SampledTrackerTreatment::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - RoundDown
    - PageTracker*::SetAnonVmaName
    - MemoryTagToLabel
    - absl::SNPrintF
    - absl::bit_ceil
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    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:2016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2019,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2022
    functionName: tcmalloc_internal::SampledTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageTracker*::SetDontFreeTracker
    - TC_ASSERT_LE
    - 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:2047,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2047,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2047,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2052,1
    - Dst: TrackerType*::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2053,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2055,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2056,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2058,1
    - Dst: TrackerType*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2058,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2059,1
    - Dst: TrackerType*::SetHasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2062,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2064,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pt
    - donated
    - span_alloc_info
    argTypes:
    - TrackerType*
    - bool
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2044
    functionDepth: 4
    functionLinenumber: 2044
    functionLinenumberEnd: 2069
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Contribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - TrackerType*::SetHasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
    - TrackerType*::released_pages
    - TrackerType*::SetTagState
    - Length
    - TrackerType*::used_pages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TrackerType*::was_donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    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:2077,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2077,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2077,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2078,1
    - Dst: BeingCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2083,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2090,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2094,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: absl::Span<TrackerType*>::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2095,1
    - Dst: CompareForSubrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2102,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2107,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: absl::Span<TrackerType*>::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2110,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2114,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: 2117
      start: 2073
    functionDepth: 1
    functionLinenumber: 2073
    functionLinenumberEnd: 2117
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - absl::Span<TrackerType*>::end
    - released_pages
    - std::make_heap
    - Iter
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - Length
    - absl::Span<TrackerType*>::size
    - absl::Span<TrackerType*>::begin
    - CompareForSubrelease
    - std::pop_heap
    - std::push_heap
    - TC_ASSERT_GT
    - 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:2122,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2125,1
    - Dst: absl::Span<TrackerType*>::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2129,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2131,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2134,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2138,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2142,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2142,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2143,1
    - Dst: TrackerType*::unbroken
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2146,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2149,1
    - Dst: TrackerType*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2150,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2152,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2154,1
    - Dst: TrackerType*::was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2158,1
    - Dst: TrackerType*::set_was_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2159,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2160,1
    - Dst: limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - candidates
    - target
    argTypes:
    - absl::Span<TrackerType*>
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2120
    functionDepth: 4
    functionLinenumber: 2120
    functionLinenumberEnd: 2178
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TrackerType*::was_released
    - TC_ASSERT_GE
    - TrackerType*::released
    - TrackerType*::set_was_released
    - TrackerType*::HasDenseSpans
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - TrackerType*::free_pages
    - TrackerType*::unbroken
    - absl::Span<TrackerType*>::size
    - Length
    - TrackerType*::released_pages
    - TrackerType*::ReleaseFree
    - limit_hit
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    - TrackerType*::used_pages
    - absl::c_sort
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    - NHugePages
    - TC_ASSERT_LE
    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:2182,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2185,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2188,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2191,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2194,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2195
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - size
    - used_pages_in_any_subreleased
    - unmapped_pages
    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:2206,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2207,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2210,1
    - Dst: SkipSubreleaseIntervals::IsPeakIntervalSet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2214,1
    - Dst: GetRecentPeak
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2216,1
    - Dst: GetRecentDemand
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2218,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2222,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2224,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2241,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2249,1
    - Dst: ReportSkippedSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2250,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - desired
    - total_released
    - intervals
    argTypes:
    - Length
    - Length
    - SkipSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2198
    functionDepth: 2
    functionLinenumber: 2198
    functionLinenumberEnd: 2256
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - GetRecentPeak
    - SkipSubreleaseIntervals::IsPeakIntervalSet
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - Length
    - GetRecentDemand
    - used_pages
    - ReportSkippedSubreleasePages
    - std::min
    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:2273,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2280,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2281,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2286,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2290,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2303,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2304,1
    - Dst: set_limit_hit
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2310,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2325,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2326,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2329,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2330,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2338,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2354,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2355,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2357,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2358,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2362,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: CandidateArray::data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2368,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: 2375
      start: 2262
    functionDepth: 2
    functionLinenumber: 2262
    functionLinenumberEnd: 2375
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - raw_num
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetDesiredSubreleasePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::HugePageFiller<TrackerType>::FreePagesInPartialAllocs
    - set_limit_hit
    - absl::MakeSpan
    - CandidateArray::data
    - tcmalloc_internal::HugePageFiller<TrackerType>::SelectCandidates
    - Length
    - tcmalloc_internal::HugePageFiller<TrackerType>::ReleaseCandidates
    - std::max
    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:2380,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2383,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2386,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2387,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2378
    functionDepth: 1
    functionLinenumber: 2378
    functionLinenumberEnd: 2390
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddSpanStats
    - Iter
    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:2395,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2396,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2393
    functionDepth: 1
    functionLinenumber: 2393
    functionLinenumberEnd: 2399
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2407,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2409,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2410,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2412,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2413,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2414,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2415,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2416,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2423,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2426,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2428,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2432,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2448,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2402
    functionDepth: 3
    functionLinenumber: 2402
    functionLinenumberEnd: 2453
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - raw_num
    - size
    - length
    - Length
    - NHugePages
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    linkageType: ''
    returnType: HugePageFillerStats
    signature: HugePageFillerStats HugePageFiller<TrackerType>::GetStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - clock
    - pageflags
    - residency
    - ' collapse'
    - ' page_filler'
    - enable_collapse
    - enable_release_free_swap
    - use_userspace_collapse_heuristics
    argTypes:
    - Clock
    - PageFlagsBase*
    - Residency*
    - MemoryModifyFunction
    - HugePageFiller<TrackerType>
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2472
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::HugePageUnbackedTrackerTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugePageUnbackedTrackerTreatment(\n      Clock clock, PageFlagsBase*
      pageflags, Residency* residency,\n      MemoryModifyFunction& collapse, HugePageFiller<TrackerType>&
      page_filler,\n      bool enable_collapse, bool enable_release_free_swap,\n      bool
      use_userspace_collapse_heuristics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2473
    functionName: ~HugePageUnbackedTrackerTreatment() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HugePageUnbackedTrackerTreatment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2475
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2494,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2495,1
    - Dst: PageTracker*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: PageTracker*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2496,1
    - Dst: PageTracker*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: PageTracker*::nobjects
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2497,1
    - Dst: PageTracker*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2500,1
    - Dst: PageTracker*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PageTracker*
    - PageTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2493
    functionDepth: 1
    functionLinenumber: 2493
    functionLinenumberEnd: 2502
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::CompareForHugePageTreatment
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - PageTracker*::HasDenseSpans
    - PageTracker*::nobjects
    - TC_ASSERT_NE
    linkageType: ''
    returnType: bool
    signature: bool CompareForHugePageTreatment(PageTracker* a, PageTracker* b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2514,1
    - Dst: std::make_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2516,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2516,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2517,1
    - Dst: tcmalloc_internal::HugePageUnbackedTrackerTreatment::CompareForHugePageTreatment
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2523,1
    - Dst: std::pop_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2526,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2526,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2527,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2530,1
    - Dst: SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2531,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2532,1
    - Dst: std::push_heap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2534,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2534,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2535,1
    - Dst: GetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2539,1
    - Dst: PushCandidate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2543,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2546,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2546,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2547,1
    - Dst: PushCandidate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PageTracker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2504
    functionDepth: 2
    functionLinenumber: 2504
    functionLinenumberEnd: 2550
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - PageTracker*::SetDontFreeTracker
    - std::max<double>
    - std::make_heap
    - tcmalloc_internal::HugePageUnbackedTrackerTreatment::CompareForHugePageTreatment
    - begin
    - freq
    - PushCandidate
    - GetHugePageResidencyState
    - now
    - SetDontFreeTracker
    - std::pop_heap
    - std::push_heap
    - TC_ASSERT_NE
    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: 2552
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2552
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2556
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::tracker_list_full
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tracker_list_full() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2572,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2582,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2582,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2586,1
    - Dst: PageFlagsBase*::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2587,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2587,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2589,1
    - Dst: Residency*::GetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2596,1
    - Dst: PageTracker::HugePageResidencyState::bitmaps::swapped::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2601,1
    - Dst: PageTracker::HugePageResidencyState::bitmaps::unbacked::CountBits
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2602,1
    - Dst: tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2558
    functionDepth: 2
    functionLinenumber: 2558
    functionLinenumberEnd: 2612
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageFlagsBase*::IsHugepageBacked
    - absl::ToDoubleSeconds
    - tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
    - PageTracker::HugePageResidencyState::bitmaps::unbacked::CountBits
    - freq
    - Residency*::GetUnbackedAndSwappedBitmaps
    - PageTracker::HugePageResidencyState::bitmaps::swapped::CountBits
    - PageTracker*::location
    - now
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2615,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2618,1
    - Dst: PageTracker*::SetDontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2619,1
    - Dst: PageTracker*::SetHugePageResidencyState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2620,1
    - Dst: tracker_state::bitmaps::swapped::IsZero
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2630,1
    - Dst: PageTracker*::fully_freed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2631,1
    - Dst: HandleReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2632,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2633,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2614
    functionDepth: 1
    functionLinenumber: 2614
    functionLinenumberEnd: 2639
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - PageTracker*::SetDontFreeTracker
    - PageTracker*::SetHugePageResidencyState
    - PageTracker*::fully_freed
    - Length
    - HandleReleaseFree
    - tracker_state::bitmaps::swapped::IsZero
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(pageheap_lock) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2641
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HugePageTreatmentStats
    signature: HugePageTreatmentStats GetStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - HugePageTreatmentStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2652
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void UpdateHugePageTreatmentStats(HugePageTreatmentStats& stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2656,1
    - Dst: PageTracker*::Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2657,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2658,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2659,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2662,1
    - Dst: UpdateCollapseErrorStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - tracker
    argTypes:
    - PageTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2671
    functionName: tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - UpdateCollapseErrorStats
    - std::max<double>
    - PageTracker*::Collapse
    - now
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool TryUserspaceCollapse(PageTracker* tracker)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2710
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ShouldBackoffFromCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HugePageFiller<TrackerType>::ShouldBackoffFromCollapse()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2717,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2725,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - latency
    - enomem_errors
    argTypes:
    - absl::Duration
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2729
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateMaxBackoffDelay
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - std::min
    - std::max
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::UpdateMaxBackoffDelay(absl::Duration
      latency,\n                                                        int enomem_errors)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ShouldBackoffFromCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2736,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2752,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2754,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2758,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2760,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2764,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2766,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2771,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2773,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2775,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2780,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2782,1
    - Dst: HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2784,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2789,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2791,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2795,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2797,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2800,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2802,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2806,1
    - Dst: SampledTrackerTreatment::SelectEligibleTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2808,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2812,1
    - Dst: SampledTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2813,1
    - Dst: HugePageUnbackedTrackerTreatment::Treat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2814,1
    - Dst: HugePageUnbackedTrackerTreatment::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2816,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2818,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2819,1
    - Dst: tcmalloc_internal::ErrorTypeToIndex
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2821,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateMaxBackoffDelay
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2823,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2827,1
    - Dst: SampledTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2828,1
    - Dst: HugePageUnbackedTrackerTreatment::Restore
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2829,1
    - Dst: HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2831,1
    - Dst: SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 5
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    - use_userspace_collapse_heuristics
    - pageflags
    - residency
    argTypes:
    - bool
    - bool
    - bool
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2732
    functionDepth: 1
    functionLinenumber: 2732
    functionLinenumberEnd: 2838
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - lock
    - absl::Milliseconds
    - Iter
    - HugePageUnbackedTrackerTreatment::Treat
    - SampledTrackerTreatment::SelectEligibleTrackers
    - freq
    - SampledTrackerTreatment::Restore
    - HugePageUnbackedTrackerTreatment::Restore
    - SetAnonVmaName
    - HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
    - HugePageUnbackedTrackerTreatment::GetStats
    - tcmalloc_internal::HugePageFiller<TrackerType>::ShouldBackoffFromCollapse
    - SampledTrackerTreatment::Treat
    - unlock
    - HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
    - tcmalloc_internal::ErrorTypeToIndex
    - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateMaxBackoffDelay
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::TreatHugepageTrackers(\n    bool
      enable_collapse, bool enable_release_free_swapped,\n    bool use_userspace_collapse_heuristics,
      PageFlagsBase* pageflags,\n    Residency* residency)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2843,1
    - Dst: PageTracker*::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2844,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tracker
    argTypes:
    - PageTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2841
    functionDepth: 4
    functionLinenumber: 2841
    functionLinenumberEnd: 2850
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::HandleReleaseFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - PageTracker*::ReleaseFree
    - tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    - tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    linkageType: ''
    returnType: Length
    signature: "Length HugePageFiller<TrackerType>::HandleReleaseFree(\n    PageTracker*
      tracker)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2855,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2856,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2860,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2863,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2864,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2864,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2865,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2865,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2867,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2870,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2871,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2872,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2873,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2874,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2877,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2880,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2881,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2882,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2883,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2884,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2886,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2889,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2890,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2891,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2892,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2893,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2895,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2896,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2896,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2897,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2902,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2903,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2904,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2906,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2909,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2910,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2912,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2914,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2915,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2915,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2916,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2918,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2919,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2922,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2925,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2926,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2927,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2928,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2932,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2938,1
    - Dst: collapse_errors::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2941,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2942,1
    - Dst: tcmalloc_internal::ErrorTypeToString
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2943,1
    - Dst: static_cast<CollapseErrorType>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2944,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2947,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2949,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2952,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2953,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2955,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2960,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2965,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2966,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2971,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2972,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2976,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2978,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2981,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2988,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2990,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2993,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:2999,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3001,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3004,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3010,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3012,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3015,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3021,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3023,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3026,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3032,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3034,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3037,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3043,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3045,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3048,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3051,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3055,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3056,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3058,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3061,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3064,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 69
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 2853
    functionDepth: 2
    functionLinenumber: 2853
    functionLinenumberEnd: 3066
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugePageFiller<TrackerType>::Print
    - total_pages_subreleased_due_to_limit::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - collapse_errors::size
    - tcmalloc_internal::ErrorTypeToString
    - HugeLength::in_pages
    - used_pages_in_any_subreleased
    - UsageInfo::Print
    - safe_div
    - Iter
    - tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
    - Length
    - previously_released_huge_pages
    - now
    - UsageInfo::HugepageBackedPreviouslyReleased
    - raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    - size
    - used_pages_in_partial_released
    - in_pages
    - freq
    - empty
    - static_cast<CollapseErrorType>
    - static_cast<double>
    - total_hugepages_broken_due_to_limit::raw_num
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    - unmapped_pages
    - total_hugepages_broken::raw_num
    - printf
    - TC_ASSERT
    - UsageInfo::Record
    - TC_ASSERT_LE
    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:3072,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3073,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3074,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3074,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3075,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3075,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3076,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3077,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3078,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3079,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: 3080
      start: 3069
    functionDepth: 1
    functionLinenumber: 3069
    functionLinenumberEnd: 3080
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - CreateSubRegion
    - TC_ASSERT_LT
    - PbtxtRegion::PrintI64
    - raw_num
    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:3085,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3089,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3089,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3092,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3093,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3093,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3094,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3094,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3097,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3099,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3100,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3102,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3103,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3105,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3108,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3111,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3113,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3116,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3116,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3117,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3118,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3119,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3120,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3121,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3123,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3124,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3126,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3126,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3127,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3129,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3131,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3132,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3133,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3134,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3135,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3136,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3137,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3138,1
    - Dst: total_pages_subreleased::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3139,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3140,1
    - Dst: total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3141,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3142,1
    - Dst: total_pages_subreleased_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3144,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3145,1
    - Dst: total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3147,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3151,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3152,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3156,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3158,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3161,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3167,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3169,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3172,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3178,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3180,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3183,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3189,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3191,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3194,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3200,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3202,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3205,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3211,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3213,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3216,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3222,1
    - Dst: UsageInfo::Record
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3224,1
    - Dst: UsageInfo::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3227,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3230,1
    - Dst: UsageInfo::HugepageBackedPreviouslyReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3231,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3234,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3235,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3237,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3239,1
    - Dst: collapse_errors::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3241,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3243,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3244,1
    - Dst: tcmalloc_internal::ErrorTypeToString
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3245,1
    - Dst: static_cast<CollapseErrorType>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3246,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3247,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3250,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3252,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3253,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3255,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3256,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3258,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3262,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3266,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3269,1
    - Dst: PrintSubreleaseStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3272,1
    - Dst: PrintTimeseriesStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 2
    argNames:
    - ' hpaa'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3083
    functionDepth: 2
    functionLinenumber: 3083
    functionLinenumberEnd: 3276
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - total_pages_subreleased_due_to_limit::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - collapse_errors::size
    - PbtxtRegion::PrintRaw
    - tcmalloc_internal::ErrorTypeToString
    - used_pages_in_any_subreleased
    - UsageInfo::Print
    - PbtxtRegion::CreateSubRegion
    - tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
    - safe_div
    - Iter
    - Length
    - PbtxtRegion::PrintI64
    - previously_released_huge_pages
    - now
    - static_cast<uint64_t>
    - UsageInfo::HugepageBackedPreviouslyReleased
    - raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    - in_bytes
    - used_pages_in_partial_released
    - in_pages
    - tcmalloc_internal::HugePageFiller<TrackerType>::PrintAllocStatsInPbtxt
    - freq
    - CreateSubRegion
    - empty
    - static_cast<double>
    - PrintTimeseriesStatsInPbtxt
    - total_hugepages_broken_due_to_limit::raw_num
    - total_pages_subreleased::raw_num
    - tcmalloc_internal::HugePageFiller<TrackerType>::GetStats
    - unmapped_pages
    - total_hugepages_broken::raw_num
    - PrintI64
    - PrintSubreleaseStatsInPbtxt
    - TC_ASSERT
    - UsageInfo::Record
    - static_cast<CollapseErrorType>
    linkageType: ''
    returnType: void
    signature: "void HugePageFiller<TrackerType>::PrintInPbtxt(\n    PbtxtRegion&
      hpaa, PageFlagsBase& pageflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3281,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3282,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3283,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3289,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3292,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3294,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3296,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3302,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3279
    functionDepth: 1
    functionLinenumber: 3279
    functionLinenumberEnd: 3304
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::UpdateFillerStatsTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 8
    functionsReached:
    - pages_allocated
    - size
    - tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    - unmapped_pages
    - reset
    - Report
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::UpdateFillerStatsTracker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3309,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3309,1
    - Dst: HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3314,1
    - Dst: nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3318,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3321,1
    - Dst: __builtin_clzl
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3327,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3328,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - TrackerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3307
    functionDepth: 1
    functionLinenumber: 3307
    functionLinenumberEnd: 3331
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - __builtin_clzl
    - HasDenseSpans
    - nallocs
    - empty
    - TC_ASSERT
    - std::max
    linkageType: ''
    returnType: size_t
    signature: "size_t HugePageFiller<TrackerType>::IndexFor(\n    const TrackerType&
      pt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3336,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - longest
    - chunk
    argTypes:
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3338
      start: 3334
    functionDepth: 1
    functionLinenumber: 3334
    functionLinenumberEnd: 3338
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 1
    functionsReached:
    - Length::raw_num
    - TC_ASSERT_LT
    linkageType: ''
    returnType: size_t
    signature: "size_t HugePageFiller<TrackerType>::SparseListFor(\n    const Length
      longest, const size_t chunk) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3343,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3343,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - chunk
    - nallocs
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3341
    functionDepth: 1
    functionLinenumber: 3341
    functionLinenumberEnd: 3348
    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 size_t chunk,\n
      \                                                       size_t nallocs) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3354,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3357,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3359,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - longest
    - chunk
    - density
    - nallocs
    argTypes:
    - Length
    - size_t
    - AccessDensityPrediction
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3351
    functionDepth: 2
    functionLinenumber: 3351
    functionLinenumberEnd: 3363
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::HugePageFiller<TrackerType>::SparseListFor
    - tcmalloc_internal::HugePageFiller<TrackerType>::DenseListFor
    - TC_BUG
    linkageType: ''
    returnType: size_t
    signature: "size_t HugePageFiller<TrackerType>::ListFor(\n    const Length longest,
      const size_t chunk,\n    const AccessDensityPrediction density, size_t nallocs)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TrackerType*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3367,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3368,1
    - Dst: TrackerType*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3370,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3371,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3371,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3375,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3378,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3380,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3381,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3382,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3382,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3383,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3384,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3384,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3385,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3387,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3388,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3388,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3391
      start: 3366
    functionDepth: 3
    functionLinenumber: 3366
    functionLinenumberEnd: 3391
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::RemoveFromFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 6
    functionsReached:
    - TrackerType*::free_pages
    - Length::raw_num
    - TC_ASSERT_LT
    - TrackerType*::nallocs
    - TrackerType*::released_pages
    - TrackerType*::used_pages
    - TrackerType*::donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - Remove
    - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    - TrackerType*::released
    - TC_ASSERT_GE
    - TrackerType*::HasDenseSpans
    - TrackerType*::longest_free_range
    linkageType: ''
    returnType: void
    signature: void HugePageFiller<TrackerType>::RemoveFromFillerList(TrackerType*
      pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3396,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3400,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3403
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3403
    functionName: '* absl_nullable

      HugePageFiller<TrackerType>::FetchFullyFreedTracker()'
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 0
    functionsReached:
    - empty
    - first
    - remove
    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:3407,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3408,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3411,1
    - Dst: TrackerType*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3411,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3412,1
    - Dst: TrackerType*::DontFreeTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3412,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3413,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3421,1
    - Dst: TrackerType*::HasDenseSpans
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3423,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: TrackerType*::nallocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3426,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3428,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3429,1
    - Dst: TrackerType*::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3430,1
    - Dst: TrackerType*::released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3430,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3431,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3432,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3434,1
    - Dst: TrackerType*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3406
    functionDepth: 3
    functionLinenumber: 3406
    functionLinenumberEnd: 3437
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::AddToFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 10
    functionsReached:
    - TrackerType*::free_pages
    - TrackerType*::empty
    - Add
    - TrackerType*::nallocs
    - TrackerType*::released_pages
    - TrackerType*::used_pages
    - prepend
    - TrackerType*::released
    - TrackerType*::set_donated
    - tcmalloc_internal::HugePageFiller<TrackerType>::ListFor
    - TC_ASSERT
    - TrackerType*::DontFreeTracker
    - TrackerType*::HasDenseSpans
    - TC_ASSERT_LE
    - TrackerType*::longest_free_range
    - tcmalloc_internal::HugePageFiller<TrackerType>::IndexFor
    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:3441,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3442,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3445,1
    - Dst: TrackerType*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3445,1
    - Dst: TrackerType*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3446,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3450,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pt
    argTypes:
    - TrackerType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3451
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::DonateToFillerList
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - Length::raw_num
    - Add
    - TrackerType*::released
    - TC_ASSERT
    - TrackerType*::set_donated
    - TrackerType*::longest_free_range
    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:3458,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3459,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3460,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3463,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3463,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3465,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3466,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3467,1
    - Dst: std::clamp<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3454
    functionDepth: 1
    functionLinenumber: 3454
    functionLinenumberEnd: 3469
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::hugepage_frac
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 4
    functionsReached:
    - Length::raw_num
    - std::clamp<double>
    - Length
    - TC_ASSERT_LE
    - used_pages
    - TC_ASSERT_GE
    - static_cast<double>
    - used_pages_in_any_subreleased
    linkageType: ''
    returnType: double
    signature: double HugePageFiller<TrackerType>::hugepage_frac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3474,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3475,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3476,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3477,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3479,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3481,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3473
    functionDepth: 0
    functionLinenumber: 3473
    functionLinenumberEnd: 3483
    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:3488,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3488,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler.h:3488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3489
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3489
    functionName: tcmalloc_internal::HugePageFiller<TrackerType>::free_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler.h
    functionUses: 12
    functionsReached:
    - size
    - used_pages
    - unmapped_pages
    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:
    - Add
    - std::move
    - SetStartTime
    - SetDuration
    - absl::Now
    - Remove
    - std::make_unique<StackTraceTable>
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    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:
    - AllocationSampleList*::Add
    - std::make_unique<StackTraceTable>
    - SetStartTime
    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:
    - std::move
    - SetDuration
    - absl::Now
    - Remove
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    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: 454
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 454
    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: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: operator HugePageAwareAllocatorOptions() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void operator HugePageAwareAllocatorOptions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:73,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:81,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' options'
    argTypes:
    - Sink
    - FuzzHugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      FuzzHugePageAwareAllocatorOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:91,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' a'
    argTypes:
    - Sink
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Alloc& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - Dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Dealloc& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReleasePages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ReleasePages& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReleasePagesBreakingHugepages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      ReleasePagesBreakingHugepages& r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' g'
    argTypes:
    - Sink
    - GatherStatsPbtxt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const GatherStatsPbtxt& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - PrintStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PrintStats& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' g'
    argTypes:
    - Sink
    - GatherAndCheckStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const GatherAndCheckStats& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetFillerSkipSubreleaseShortInterval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetFillerSkipSubreleaseShortInterval& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetFillerSkipSubreleaseLongInterval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetFillerSkipSubreleaseLongInterval& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetReleasePartialAllocPages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetReleasePartialAllocPages& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetHpaaSubrelease
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetHpaaSubrelease& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetReleaseSucceeds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetReleaseSucceeds& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetHugeRegionDemandBasedRelease
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetHugeRegionDemandBasedRelease& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetUseUserspaceCollapseHeuristics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetUseUserspaceCollapseHeuristics& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ResetSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ResetSubreleaseIntervals& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::AbslStringify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - ParamOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 1
    functionsReached:
    - std::visit
    - tcmalloc::tcmalloc_internal::AbslStringify
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ParamOp& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' c'
    argTypes:
    - Sink
    - ChangeParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 1
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ChangeParam& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::AbslStringify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - InstructionVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - std::visit
    - tcmalloc::tcmalloc_internal::AbslStringify
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const InstructionVariant& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' i'
    argTypes:
    - Sink
    - Instruction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Instruction& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:305,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:306,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReentrantSubprogram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::StrJoin
    - absl::Format
    - absl::StrAppend
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ReentrantSubprogram& r)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:314,1
    - Dst: static_cast<HugePageAwareAllocatorOptions>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:316,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:323,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:341,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:345,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:346,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:347,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:348,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:352,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:359,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:365,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:371,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:385,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: HugePageAwareAllocator::NewAligned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:388,1
    - Dst: HugePageAwareAllocator::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:390,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:392,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:395,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:396,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:398,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:400,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:403,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:404,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:404,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:405,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:409,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:414,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:414,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:415,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:416,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:418,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:420,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:434,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:435,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:445,1
    - Dst: HugePageAwareAllocator::FillerStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:458,1
    - Dst: HugePageAwareAllocator::RegionsFreeBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:459,1
    - Dst: HugePageAwareAllocator::CacheStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:460,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:461,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:463,1
    - Dst: release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:466,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:468,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:468,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:469,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:474,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:474,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:484,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:486,1
    - Dst: HugePageAwareAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:490,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:495,1
    - Dst: HugePageAwareAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:496,1
    - Dst: HugePageAwareAllocator::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:501,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:505,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:507,1
    - Dst: pending_release_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:507,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:509,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:513,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:514,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:515,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:516,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:520,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:521,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:526,1
    - Dst: set_release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:529,1
    - Dst: set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:532,1
    - Dst: set_release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:535,1
    - Dst: set_huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:539,1
    - Dst: set_use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:543,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:547,1
    - Dst: IsHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:558,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:570,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:578,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:579,1
    - Dst: run_instructions
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:582,1
    - Dst: run_instructions
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:586,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:590,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:596,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:599,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:605,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:607,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:609,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:615,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:618,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:618,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:619,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 146
    argCount: 2
    argNames:
    - fuzz_options
    - ' instructions'
    argTypes:
    - FuzzHugePageAwareAllocatorOptions
    - std::vector<Instruction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 620
    functionName: tcmalloc::tcmalloc_internal::FuzzHPAA
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - HugePageAwareAllocator::forwarder
    - set_release_partial_alloc_pages
    - absl::ZeroDuration
    - HugePageAwareAllocator::Delete
    - set_release_succeeds
    - CHECK_LE
    - SpanInfo::span::num_pages
    - HugePageAwareAllocator::ReleaseAtLeastNPages
    - set_hpaa_subrelease
    - TC_CHECK_EQ
    - HugePageAwareAllocator::CacheStats
    - std::vector::pop_back
    - IsHeld
    - set_use_userspace_collapse_heuristics
    - static_cast<HugePageAwareAllocatorOptions>
    - HugePageAwareAllocator::New
    - HugePageAwareAllocator::RegionsFreeBacked
    - pending_release_::in_bytes
    - absl::Nanoseconds
    - HugePageAwareAllocator::FillerStats
    - Length
    - std::string::resize
    - Range
    - SpanInfo::span::first_page
    - std::vector::push_back
    - std::vector::resize
    - std::clamp<size_t>
    - std::swap
    - std::min
    - std::vector::clear
    - std::max<size_t>
    - raw_num
    - Length::raw_num
    - TC_CHECK_NE
    - TC_CHECK_GE
    - run_instructions
    - set_huge_region_demand_based_release
    - SpanInfo::span::donated
    - HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
    - HugePageAwareAllocator::Print
    - std::vector::back
    - Length::in_bytes
    - Span*::num_pages
    - GTEST_SKIP
    - std::vector::size
    - HugePageAwareAllocator::stats
    - std::string::size
    - HugePageAwareAllocator::GetReleaseStats
    - TC_CHECK
    - set_filler_skip_subrelease_short_interval
    - HugePageAwareAllocator::NewAligned
    - Printer::SpaceRequired
    - std::vector::empty
    - std::visit
    - release_succeeds
    - set_filler_skip_subrelease_long_interval
    - HugePageAwareAllocator::PrintInPbtxt
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzHPAA(FuzzHugePageAwareAllocatorOptions fuzz_options,\n              const
      std::vector<Instruction>& instructions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::NonNegative<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: tcmalloc::tcmalloc_internal::AnyDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - fuzztest::NonNegative<int64_t>
    linkageType: ''
    returnType: auto
    signature: auto AnyDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Positive<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: tcmalloc::tcmalloc_internal::AnyPositiveDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - fuzztest::Positive<int64_t>
    linkageType: ''
    returnType: auto
    signature: auto AnyPositiveDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:627,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:632,1
    - Dst: tcmalloc_internal::BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: std::clamp
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:635,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:636,1
    - Dst: fuzztest::ElementOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:638,1
    - Dst: fuzztest::ElementOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::AnyPositiveDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::GetHPAADomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::BytesToLengthFloor
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::ElementOf
    - tcmalloc::tcmalloc_internal::AnyPositiveDuration
    - std::clamp
    linkageType: ''
    returnType: auto
    signature: auto GetHPAADomain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:650,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:651,1
    - Dst: fuzztest::Arbitrary<ResetSubreleaseIntervals>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:652,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:653,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:657,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:658,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:662,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:663,1
    - Dst: fuzztest::Arbitrary<SetReleasePartialAllocPages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:665,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:666,1
    - Dst: fuzztest::Arbitrary<SetHpaaSubrelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:667,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:668,1
    - Dst: fuzztest::Arbitrary<SetReleaseSucceeds>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:669,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:670,1
    - Dst: fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:672,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:673,1
    - Dst: fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:675,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:676,1
    - Dst: fuzztest::VectorOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:680,1
    - Dst: fuzztest::Just
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:681,1
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:684,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:685,1
    - Dst: fuzztest::Arbitrary<ResetSubreleaseIntervals>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:686,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:687,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:691,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:692,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:696,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:697,1
    - Dst: fuzztest::Arbitrary<SetReleasePartialAllocPages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:699,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:700,1
    - Dst: fuzztest::Arbitrary<SetHpaaSubrelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:701,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:702,1
    - Dst: fuzztest::Arbitrary<SetReleaseSucceeds>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:703,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:704,1
    - Dst: fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:706,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:707,1
    - Dst: fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:709,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:710,1
    - Dst: fuzztest::VectorOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:714,1
    - Dst: tcmalloc::tcmalloc_internal::GetInstructionDomain
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 716
    functionName: tcmalloc::tcmalloc_internal::GetChangeParamDomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - fuzztest::OneOf
    - fuzztest::Arbitrary<SetHpaaSubrelease>
    - fuzztest::Arbitrary<SetReleaseSucceeds>
    - fuzztest::Just
    - fuzztest::Arbitrary<SetReleasePartialAllocPages>
    - fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
    - tcmalloc::tcmalloc_internal::GetInstructionDomain
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::VectorOf
    - fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
    - tcmalloc::tcmalloc_internal::AnyDuration
    - fuzztest::Arbitrary<ResetSubreleaseIntervals>
    linkageType: ''
    returnType: fuzztest::Domain<ChangeParam>
    signature: fuzztest::Domain<ChangeParam> GetChangeParamDomain(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:719,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:720,1
    - Dst: fuzztest::Arbitrary<Alloc>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:721,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:722,1
    - Dst: fuzztest::Arbitrary<Dealloc>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:723,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:724,1
    - Dst: fuzztest::Arbitrary<ReleasePages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:725,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:726,1
    - Dst: fuzztest::Arbitrary<ReleasePagesBreakingHugepages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:728,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:729,1
    - Dst: fuzztest::Arbitrary<GatherStatsPbtxt>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:730,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:731,1
    - Dst: fuzztest::Arbitrary<PrintStats>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:732,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:733,1
    - Dst: fuzztest::Arbitrary<GatherAndCheckStats>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:734,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:735,1
    - Dst: tcmalloc::tcmalloc_internal::GetChangeParamDomain
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 737
    functionName: tcmalloc::tcmalloc_internal::GetInstructionDomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 1
    functionsReached:
    - fuzztest::OneOf
    - fuzztest::Arbitrary<ReleasePages>
    - fuzztest::Arbitrary<GatherStatsPbtxt>
    - fuzztest::Arbitrary<Alloc>
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::Arbitrary<Dealloc>
    - tcmalloc::tcmalloc_internal::GetChangeParamDomain
    - fuzztest::Arbitrary<ReleasePagesBreakingHugepages>
    - fuzztest::Arbitrary<GatherAndCheckStats>
    - fuzztest::Arbitrary<PrintStats>
    linkageType: ''
    returnType: fuzztest::Domain<Instruction>
    signature: fuzztest::Domain<Instruction> GetInstructionDomain(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:748,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:748,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:751,1
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:767,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:770,1
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 779
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 804
    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, b471822138)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 822
    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, b470332457)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: operator HugePageAwareAllocatorOptions() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void operator HugePageAwareAllocatorOptions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:73,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:81,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' options'
    argTypes:
    - Sink
    - FuzzHugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      FuzzHugePageAwareAllocatorOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:91,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' a'
    argTypes:
    - Sink
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Alloc& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - Dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Dealloc& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReleasePages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ReleasePages& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReleasePagesBreakingHugepages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      ReleasePagesBreakingHugepages& r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' g'
    argTypes:
    - Sink
    - GatherStatsPbtxt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const GatherStatsPbtxt& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - PrintStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PrintStats& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' g'
    argTypes:
    - Sink
    - GatherAndCheckStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const GatherAndCheckStats& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetFillerSkipSubreleaseShortInterval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetFillerSkipSubreleaseShortInterval& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetFillerSkipSubreleaseLongInterval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetFillerSkipSubreleaseLongInterval& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetReleasePartialAllocPages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetReleasePartialAllocPages& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetHpaaSubrelease
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetHpaaSubrelease& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetReleaseSucceeds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetReleaseSucceeds& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetHugeRegionDemandBasedRelease
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetHugeRegionDemandBasedRelease& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetUseUserspaceCollapseHeuristics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetUseUserspaceCollapseHeuristics& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ResetSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ResetSubreleaseIntervals& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::AbslStringify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - ParamOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 3
    functionsReached:
    - std::visit
    - tcmalloc::tcmalloc_internal::AbslStringify
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ParamOp& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' c'
    argTypes:
    - Sink
    - ChangeParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 3
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ChangeParam& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::AbslStringify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - InstructionVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - std::visit
    - tcmalloc::tcmalloc_internal::AbslStringify
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const InstructionVariant& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' i'
    argTypes:
    - Sink
    - Instruction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Instruction& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:305,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:306,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReentrantSubprogram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::StrJoin
    - absl::Format
    - absl::StrAppend
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ReentrantSubprogram& r)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:314,1
    - Dst: static_cast<HugePageAwareAllocatorOptions>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:316,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:323,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:341,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:345,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:346,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:347,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:348,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:352,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:359,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:365,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:371,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:385,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: HugePageAwareAllocator::NewAligned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:388,1
    - Dst: HugePageAwareAllocator::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:390,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:392,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:395,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:396,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:398,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:400,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:403,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:404,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:404,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:405,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:409,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:414,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:414,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:415,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:416,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:418,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:420,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:434,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:435,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:445,1
    - Dst: HugePageAwareAllocator::FillerStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:458,1
    - Dst: HugePageAwareAllocator::RegionsFreeBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:459,1
    - Dst: HugePageAwareAllocator::CacheStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:460,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:461,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:463,1
    - Dst: release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:466,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:468,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:468,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:469,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:474,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:474,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:484,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:486,1
    - Dst: HugePageAwareAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:490,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:495,1
    - Dst: HugePageAwareAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:496,1
    - Dst: HugePageAwareAllocator::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:501,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:505,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:507,1
    - Dst: pending_release_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:507,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:509,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:513,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:514,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:515,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:516,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:520,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:521,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:526,1
    - Dst: set_release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:529,1
    - Dst: set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:532,1
    - Dst: set_release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:535,1
    - Dst: set_huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:539,1
    - Dst: set_use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:543,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:547,1
    - Dst: IsHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:558,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:570,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:578,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:579,1
    - Dst: run_instructions
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:582,1
    - Dst: run_instructions
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:586,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:590,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:596,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:599,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:605,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:607,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:609,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:615,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:618,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:618,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:619,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 146
    argCount: 2
    argNames:
    - fuzz_options
    - ' instructions'
    argTypes:
    - FuzzHugePageAwareAllocatorOptions
    - std::vector<Instruction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 620
    functionName: tcmalloc::tcmalloc_internal::FuzzHPAA
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - HugePageAwareAllocator::forwarder
    - set_release_partial_alloc_pages
    - absl::ZeroDuration
    - HugePageAwareAllocator::Delete
    - set_release_succeeds
    - CHECK_LE
    - SpanInfo::span::num_pages
    - HugePageAwareAllocator::ReleaseAtLeastNPages
    - set_hpaa_subrelease
    - TC_CHECK_EQ
    - HugePageAwareAllocator::CacheStats
    - std::vector::pop_back
    - IsHeld
    - set_use_userspace_collapse_heuristics
    - static_cast<HugePageAwareAllocatorOptions>
    - HugePageAwareAllocator::New
    - HugePageAwareAllocator::RegionsFreeBacked
    - pending_release_::in_bytes
    - absl::Nanoseconds
    - HugePageAwareAllocator::FillerStats
    - Length
    - std::string::resize
    - Range
    - SpanInfo::span::first_page
    - std::vector::push_back
    - std::vector::resize
    - std::clamp<size_t>
    - std::swap
    - std::min
    - std::vector::clear
    - std::max<size_t>
    - raw_num
    - Length::raw_num
    - TC_CHECK_NE
    - TC_CHECK_GE
    - run_instructions
    - set_huge_region_demand_based_release
    - SpanInfo::span::donated
    - HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
    - HugePageAwareAllocator::Print
    - std::vector::back
    - Length::in_bytes
    - Span*::num_pages
    - GTEST_SKIP
    - std::vector::size
    - HugePageAwareAllocator::stats
    - std::string::size
    - HugePageAwareAllocator::GetReleaseStats
    - TC_CHECK
    - set_filler_skip_subrelease_short_interval
    - HugePageAwareAllocator::NewAligned
    - Printer::SpaceRequired
    - std::vector::empty
    - std::visit
    - release_succeeds
    - set_filler_skip_subrelease_long_interval
    - HugePageAwareAllocator::PrintInPbtxt
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzHPAA(FuzzHugePageAwareAllocatorOptions fuzz_options,\n              const
      std::vector<Instruction>& instructions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::NonNegative<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: tcmalloc::tcmalloc_internal::AnyDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 1
    functionsReached:
    - fuzztest::NonNegative<int64_t>
    linkageType: ''
    returnType: auto
    signature: auto AnyDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Positive<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: tcmalloc::tcmalloc_internal::AnyPositiveDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 1
    functionsReached:
    - fuzztest::Positive<int64_t>
    linkageType: ''
    returnType: auto
    signature: auto AnyPositiveDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:627,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:632,1
    - Dst: tcmalloc_internal::BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: std::clamp
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:635,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:636,1
    - Dst: fuzztest::ElementOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:638,1
    - Dst: fuzztest::ElementOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::AnyPositiveDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::GetHPAADomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::BytesToLengthFloor
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::ElementOf
    - tcmalloc::tcmalloc_internal::AnyPositiveDuration
    - std::clamp
    linkageType: ''
    returnType: auto
    signature: auto GetHPAADomain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:650,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:651,1
    - Dst: fuzztest::Arbitrary<ResetSubreleaseIntervals>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:652,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:653,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:657,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:658,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:662,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:663,1
    - Dst: fuzztest::Arbitrary<SetReleasePartialAllocPages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:665,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:666,1
    - Dst: fuzztest::Arbitrary<SetHpaaSubrelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:667,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:668,1
    - Dst: fuzztest::Arbitrary<SetReleaseSucceeds>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:669,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:670,1
    - Dst: fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:672,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:673,1
    - Dst: fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:675,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:676,1
    - Dst: fuzztest::VectorOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:680,1
    - Dst: fuzztest::Just
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:681,1
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:684,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:685,1
    - Dst: fuzztest::Arbitrary<ResetSubreleaseIntervals>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:686,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:687,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:691,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:692,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:696,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:697,1
    - Dst: fuzztest::Arbitrary<SetReleasePartialAllocPages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:699,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:700,1
    - Dst: fuzztest::Arbitrary<SetHpaaSubrelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:701,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:702,1
    - Dst: fuzztest::Arbitrary<SetReleaseSucceeds>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:703,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:704,1
    - Dst: fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:706,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:707,1
    - Dst: fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:709,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:710,1
    - Dst: fuzztest::VectorOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:714,1
    - Dst: tcmalloc::tcmalloc_internal::GetInstructionDomain
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 716
    functionName: tcmalloc::tcmalloc_internal::GetChangeParamDomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 1
    functionsReached:
    - fuzztest::OneOf
    - fuzztest::Arbitrary<SetHpaaSubrelease>
    - fuzztest::Arbitrary<SetReleaseSucceeds>
    - fuzztest::Just
    - fuzztest::Arbitrary<SetReleasePartialAllocPages>
    - fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
    - tcmalloc::tcmalloc_internal::GetInstructionDomain
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::VectorOf
    - fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
    - tcmalloc::tcmalloc_internal::AnyDuration
    - fuzztest::Arbitrary<ResetSubreleaseIntervals>
    linkageType: ''
    returnType: fuzztest::Domain<ChangeParam>
    signature: fuzztest::Domain<ChangeParam> GetChangeParamDomain(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:719,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:720,1
    - Dst: fuzztest::Arbitrary<Alloc>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:721,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:722,1
    - Dst: fuzztest::Arbitrary<Dealloc>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:723,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:724,1
    - Dst: fuzztest::Arbitrary<ReleasePages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:725,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:726,1
    - Dst: fuzztest::Arbitrary<ReleasePagesBreakingHugepages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:728,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:729,1
    - Dst: fuzztest::Arbitrary<GatherStatsPbtxt>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:730,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:731,1
    - Dst: fuzztest::Arbitrary<PrintStats>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:732,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:733,1
    - Dst: fuzztest::Arbitrary<GatherAndCheckStats>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:734,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:735,1
    - Dst: tcmalloc::tcmalloc_internal::GetChangeParamDomain
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 737
    functionName: tcmalloc::tcmalloc_internal::GetInstructionDomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - fuzztest::OneOf
    - fuzztest::Arbitrary<ReleasePages>
    - fuzztest::Arbitrary<GatherStatsPbtxt>
    - fuzztest::Arbitrary<Alloc>
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::Arbitrary<Dealloc>
    - tcmalloc::tcmalloc_internal::GetChangeParamDomain
    - fuzztest::Arbitrary<ReleasePagesBreakingHugepages>
    - fuzztest::Arbitrary<GatherAndCheckStats>
    - fuzztest::Arbitrary<PrintStats>
    linkageType: ''
    returnType: fuzztest::Domain<Instruction>
    signature: fuzztest::Domain<Instruction> GetInstructionDomain(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:748,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:748,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:751,1
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:767,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:770,1
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 779
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 804
    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, b471822138)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 822
    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, b470332457)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: operator HugePageAwareAllocatorOptions() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void operator HugePageAwareAllocatorOptions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:73,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:81,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' options'
    argTypes:
    - Sink
    - FuzzHugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      FuzzHugePageAwareAllocatorOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:91,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' a'
    argTypes:
    - Sink
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Alloc& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - Dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Dealloc& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReleasePages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ReleasePages& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReleasePagesBreakingHugepages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      ReleasePagesBreakingHugepages& r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' g'
    argTypes:
    - Sink
    - GatherStatsPbtxt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const GatherStatsPbtxt& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - PrintStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PrintStats& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' g'
    argTypes:
    - Sink
    - GatherAndCheckStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const GatherAndCheckStats& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetFillerSkipSubreleaseShortInterval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetFillerSkipSubreleaseShortInterval& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetFillerSkipSubreleaseLongInterval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetFillerSkipSubreleaseLongInterval& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetReleasePartialAllocPages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetReleasePartialAllocPages& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetHpaaSubrelease
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetHpaaSubrelease& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetReleaseSucceeds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetReleaseSucceeds& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetHugeRegionDemandBasedRelease
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetHugeRegionDemandBasedRelease& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetUseUserspaceCollapseHeuristics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetUseUserspaceCollapseHeuristics& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ResetSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ResetSubreleaseIntervals& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::AbslStringify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - ParamOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 5
    functionsReached:
    - std::visit
    - tcmalloc::tcmalloc_internal::AbslStringify
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ParamOp& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' c'
    argTypes:
    - Sink
    - ChangeParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 5
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ChangeParam& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::AbslStringify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - InstructionVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - std::visit
    - tcmalloc::tcmalloc_internal::AbslStringify
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const InstructionVariant& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' i'
    argTypes:
    - Sink
    - Instruction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Instruction& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:305,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:306,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReentrantSubprogram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::StrJoin
    - absl::Format
    - absl::StrAppend
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ReentrantSubprogram& r)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:314,1
    - Dst: static_cast<HugePageAwareAllocatorOptions>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:316,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:323,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:341,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:345,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:346,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:347,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:348,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:352,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:359,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:365,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:371,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:385,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: HugePageAwareAllocator::NewAligned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:388,1
    - Dst: HugePageAwareAllocator::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:390,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:392,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:395,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:396,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:398,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:400,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:403,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:404,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:404,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:405,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:409,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:414,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:414,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:415,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:416,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:418,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:420,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:434,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:435,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:445,1
    - Dst: HugePageAwareAllocator::FillerStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:458,1
    - Dst: HugePageAwareAllocator::RegionsFreeBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:459,1
    - Dst: HugePageAwareAllocator::CacheStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:460,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:461,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:463,1
    - Dst: release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:466,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:468,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:468,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:469,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:474,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:474,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:484,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:486,1
    - Dst: HugePageAwareAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:490,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:495,1
    - Dst: HugePageAwareAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:496,1
    - Dst: HugePageAwareAllocator::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:501,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:505,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:507,1
    - Dst: pending_release_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:507,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:509,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:513,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:514,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:515,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:516,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:520,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:521,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:526,1
    - Dst: set_release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:529,1
    - Dst: set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:532,1
    - Dst: set_release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:535,1
    - Dst: set_huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:539,1
    - Dst: set_use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:543,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:547,1
    - Dst: IsHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:558,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:570,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:578,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:579,1
    - Dst: run_instructions
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:582,1
    - Dst: run_instructions
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:586,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:590,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:596,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:599,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:605,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:607,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:609,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:615,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:618,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:618,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:619,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 146
    argCount: 2
    argNames:
    - fuzz_options
    - ' instructions'
    argTypes:
    - FuzzHugePageAwareAllocatorOptions
    - std::vector<Instruction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 620
    functionName: tcmalloc::tcmalloc_internal::FuzzHPAA
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 8
    functionsReached:
    - HugePageAwareAllocator::forwarder
    - set_release_partial_alloc_pages
    - absl::ZeroDuration
    - HugePageAwareAllocator::Delete
    - set_release_succeeds
    - CHECK_LE
    - SpanInfo::span::num_pages
    - HugePageAwareAllocator::ReleaseAtLeastNPages
    - set_hpaa_subrelease
    - TC_CHECK_EQ
    - HugePageAwareAllocator::CacheStats
    - std::vector::pop_back
    - IsHeld
    - set_use_userspace_collapse_heuristics
    - static_cast<HugePageAwareAllocatorOptions>
    - HugePageAwareAllocator::New
    - HugePageAwareAllocator::RegionsFreeBacked
    - pending_release_::in_bytes
    - absl::Nanoseconds
    - HugePageAwareAllocator::FillerStats
    - Length
    - std::string::resize
    - Range
    - SpanInfo::span::first_page
    - std::vector::push_back
    - std::vector::resize
    - std::clamp<size_t>
    - std::swap
    - std::min
    - std::vector::clear
    - std::max<size_t>
    - raw_num
    - Length::raw_num
    - TC_CHECK_NE
    - TC_CHECK_GE
    - run_instructions
    - set_huge_region_demand_based_release
    - SpanInfo::span::donated
    - HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
    - HugePageAwareAllocator::Print
    - std::vector::back
    - Length::in_bytes
    - Span*::num_pages
    - GTEST_SKIP
    - std::vector::size
    - HugePageAwareAllocator::stats
    - std::string::size
    - HugePageAwareAllocator::GetReleaseStats
    - TC_CHECK
    - set_filler_skip_subrelease_short_interval
    - HugePageAwareAllocator::NewAligned
    - Printer::SpaceRequired
    - std::vector::empty
    - std::visit
    - release_succeeds
    - set_filler_skip_subrelease_long_interval
    - HugePageAwareAllocator::PrintInPbtxt
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzHPAA(FuzzHugePageAwareAllocatorOptions fuzz_options,\n              const
      std::vector<Instruction>& instructions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::NonNegative<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: tcmalloc::tcmalloc_internal::AnyDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - fuzztest::NonNegative<int64_t>
    linkageType: ''
    returnType: auto
    signature: auto AnyDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Positive<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: tcmalloc::tcmalloc_internal::AnyPositiveDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - fuzztest::Positive<int64_t>
    linkageType: ''
    returnType: auto
    signature: auto AnyPositiveDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:627,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:632,1
    - Dst: tcmalloc_internal::BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: std::clamp
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:635,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:636,1
    - Dst: fuzztest::ElementOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:638,1
    - Dst: fuzztest::ElementOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::AnyPositiveDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::GetHPAADomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::BytesToLengthFloor
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::ElementOf
    - tcmalloc::tcmalloc_internal::AnyPositiveDuration
    - std::clamp
    linkageType: ''
    returnType: auto
    signature: auto GetHPAADomain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:650,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:651,1
    - Dst: fuzztest::Arbitrary<ResetSubreleaseIntervals>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:652,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:653,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:657,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:658,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:662,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:663,1
    - Dst: fuzztest::Arbitrary<SetReleasePartialAllocPages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:665,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:666,1
    - Dst: fuzztest::Arbitrary<SetHpaaSubrelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:667,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:668,1
    - Dst: fuzztest::Arbitrary<SetReleaseSucceeds>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:669,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:670,1
    - Dst: fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:672,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:673,1
    - Dst: fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:675,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:676,1
    - Dst: fuzztest::VectorOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:680,1
    - Dst: fuzztest::Just
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:681,1
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:684,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:685,1
    - Dst: fuzztest::Arbitrary<ResetSubreleaseIntervals>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:686,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:687,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:691,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:692,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:696,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:697,1
    - Dst: fuzztest::Arbitrary<SetReleasePartialAllocPages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:699,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:700,1
    - Dst: fuzztest::Arbitrary<SetHpaaSubrelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:701,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:702,1
    - Dst: fuzztest::Arbitrary<SetReleaseSucceeds>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:703,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:704,1
    - Dst: fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:706,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:707,1
    - Dst: fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:709,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:710,1
    - Dst: fuzztest::VectorOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:714,1
    - Dst: tcmalloc::tcmalloc_internal::GetInstructionDomain
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 716
    functionName: tcmalloc::tcmalloc_internal::GetChangeParamDomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 2
    functionsReached:
    - fuzztest::OneOf
    - fuzztest::Arbitrary<SetHpaaSubrelease>
    - fuzztest::Arbitrary<SetReleaseSucceeds>
    - fuzztest::Just
    - fuzztest::Arbitrary<SetReleasePartialAllocPages>
    - fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
    - tcmalloc::tcmalloc_internal::GetInstructionDomain
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::VectorOf
    - fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
    - tcmalloc::tcmalloc_internal::AnyDuration
    - fuzztest::Arbitrary<ResetSubreleaseIntervals>
    linkageType: ''
    returnType: fuzztest::Domain<ChangeParam>
    signature: fuzztest::Domain<ChangeParam> GetChangeParamDomain(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:719,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:720,1
    - Dst: fuzztest::Arbitrary<Alloc>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:721,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:722,1
    - Dst: fuzztest::Arbitrary<Dealloc>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:723,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:724,1
    - Dst: fuzztest::Arbitrary<ReleasePages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:725,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:726,1
    - Dst: fuzztest::Arbitrary<ReleasePagesBreakingHugepages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:728,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:729,1
    - Dst: fuzztest::Arbitrary<GatherStatsPbtxt>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:730,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:731,1
    - Dst: fuzztest::Arbitrary<PrintStats>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:732,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:733,1
    - Dst: fuzztest::Arbitrary<GatherAndCheckStats>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:734,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:735,1
    - Dst: tcmalloc::tcmalloc_internal::GetChangeParamDomain
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 737
    functionName: tcmalloc::tcmalloc_internal::GetInstructionDomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 3
    functionsReached:
    - fuzztest::OneOf
    - fuzztest::Arbitrary<ReleasePages>
    - fuzztest::Arbitrary<GatherStatsPbtxt>
    - fuzztest::Arbitrary<Alloc>
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::Arbitrary<Dealloc>
    - tcmalloc::tcmalloc_internal::GetChangeParamDomain
    - fuzztest::Arbitrary<ReleasePagesBreakingHugepages>
    - fuzztest::Arbitrary<GatherAndCheckStats>
    - fuzztest::Arbitrary<PrintStats>
    linkageType: ''
    returnType: fuzztest::Domain<Instruction>
    signature: fuzztest::Domain<Instruction> GetInstructionDomain(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:748,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:748,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:751,1
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:767,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:770,1
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 779
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 804
    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, b471822138)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 822
    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, b470332457)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: operator HugePageAwareAllocatorOptions() const
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    linkageType: ''
    returnType: void
    signature: void operator HugePageAwareAllocatorOptions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:73,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:81,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' options'
    argTypes:
    - Sink
    - FuzzHugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      FuzzHugePageAwareAllocatorOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_callback_
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:91,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - release_callback_
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' a'
    argTypes:
    - Sink
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Alloc& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - Dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Dealloc& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReleasePages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ReleasePages& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReleasePagesBreakingHugepages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      ReleasePagesBreakingHugepages& r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' g'
    argTypes:
    - Sink
    - GatherStatsPbtxt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const GatherStatsPbtxt& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - PrintStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const PrintStats& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' g'
    argTypes:
    - Sink
    - GatherAndCheckStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const GatherAndCheckStats& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetFillerSkipSubreleaseShortInterval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetFillerSkipSubreleaseShortInterval& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetFillerSkipSubreleaseLongInterval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetFillerSkipSubreleaseLongInterval& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetReleasePartialAllocPages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetReleasePartialAllocPages& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetHpaaSubrelease
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetHpaaSubrelease& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetReleaseSucceeds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const SetReleaseSucceeds& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetHugeRegionDemandBasedRelease
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetHugeRegionDemandBasedRelease& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - SetUseUserspaceCollapseHeuristics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: "void AbslStringify(Sink& sink,\n                            const
      SetUseUserspaceCollapseHeuristics& s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ResetSubreleaseIntervals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 6
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ResetSubreleaseIntervals& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::AbslStringify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - ParamOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 7
    functionsReached:
    - std::visit
    - tcmalloc::tcmalloc_internal::AbslStringify
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ParamOp& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' c'
    argTypes:
    - Sink
    - ChangeParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 7
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ChangeParam& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:291,1
    - Dst: tcmalloc::tcmalloc_internal::AbslStringify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' v'
    argTypes:
    - Sink
    - InstructionVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 8
    functionsReached:
    - std::visit
    - tcmalloc::tcmalloc_internal::AbslStringify
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const InstructionVariant& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' i'
    argTypes:
    - Sink
    - Instruction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Instruction& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:305,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:306,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' sink'
    - ' r'
    argTypes:
    - Sink
    - ReentrantSubprogram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::StrJoin
    - absl::Format
    - absl::StrAppend
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const ReentrantSubprogram& r)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:314,1
    - Dst: static_cast<HugePageAwareAllocatorOptions>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:316,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:323,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:337,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:341,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:345,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:346,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:347,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:348,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:352,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:353,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:359,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:365,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:371,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:385,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:386,1
    - Dst: HugePageAwareAllocator::NewAligned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:388,1
    - Dst: HugePageAwareAllocator::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:390,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:392,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:393,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:395,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:396,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:398,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:400,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:401,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:403,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:404,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:404,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:405,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:409,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:414,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:414,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:415,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:416,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:418,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:420,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:434,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:435,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:445,1
    - Dst: HugePageAwareAllocator::FillerStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:458,1
    - Dst: HugePageAwareAllocator::RegionsFreeBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:459,1
    - Dst: HugePageAwareAllocator::CacheStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:460,1
    - Dst: HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:461,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:463,1
    - Dst: release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:466,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:468,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:468,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:469,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:474,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:474,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:484,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:486,1
    - Dst: HugePageAwareAllocator::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:490,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:492,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:495,1
    - Dst: HugePageAwareAllocator::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:496,1
    - Dst: HugePageAwareAllocator::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:501,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:505,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:507,1
    - Dst: pending_release_::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:507,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:509,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:513,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:514,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:515,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:516,1
    - Dst: set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:520,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:521,1
    - Dst: set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:525,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:526,1
    - Dst: set_release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:529,1
    - Dst: set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:532,1
    - Dst: set_release_succeeds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:535,1
    - Dst: set_huge_region_demand_based_release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:539,1
    - Dst: set_use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:543,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:547,1
    - Dst: IsHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:558,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:570,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:578,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:579,1
    - Dst: run_instructions
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:582,1
    - Dst: run_instructions
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:586,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:590,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:596,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:599,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:604,1
    - Dst: SpanInfo::span::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:605,1
    - Dst: HugePageAwareAllocator::forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:607,1
    - Dst: HugePageAwareAllocator::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:609,1
    - Dst: HugePageAwareAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:615,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:618,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:618,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:619,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 146
    argCount: 2
    argNames:
    - fuzz_options
    - ' instructions'
    argTypes:
    - FuzzHugePageAwareAllocatorOptions
    - std::vector<Instruction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 620
    functionName: tcmalloc::tcmalloc_internal::FuzzHPAA
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 12
    functionsReached:
    - HugePageAwareAllocator::forwarder
    - set_release_partial_alloc_pages
    - absl::ZeroDuration
    - HugePageAwareAllocator::Delete
    - set_release_succeeds
    - CHECK_LE
    - SpanInfo::span::num_pages
    - HugePageAwareAllocator::ReleaseAtLeastNPages
    - set_hpaa_subrelease
    - TC_CHECK_EQ
    - HugePageAwareAllocator::CacheStats
    - std::vector::pop_back
    - IsHeld
    - set_use_userspace_collapse_heuristics
    - static_cast<HugePageAwareAllocatorOptions>
    - HugePageAwareAllocator::New
    - HugePageAwareAllocator::RegionsFreeBacked
    - pending_release_::in_bytes
    - absl::Nanoseconds
    - HugePageAwareAllocator::FillerStats
    - Length
    - std::string::resize
    - Range
    - SpanInfo::span::first_page
    - std::vector::push_back
    - std::vector::resize
    - std::clamp<size_t>
    - std::swap
    - std::min
    - std::vector::clear
    - std::max<size_t>
    - raw_num
    - Length::raw_num
    - TC_CHECK_NE
    - TC_CHECK_GE
    - run_instructions
    - set_huge_region_demand_based_release
    - SpanInfo::span::donated
    - HugePageAwareAllocator::ReleaseAtLeastNPagesBreakingHugepages
    - HugePageAwareAllocator::Print
    - std::vector::back
    - Length::in_bytes
    - Span*::num_pages
    - GTEST_SKIP
    - std::vector::size
    - HugePageAwareAllocator::stats
    - std::string::size
    - HugePageAwareAllocator::GetReleaseStats
    - TC_CHECK
    - set_filler_skip_subrelease_short_interval
    - HugePageAwareAllocator::NewAligned
    - Printer::SpaceRequired
    - std::vector::empty
    - std::visit
    - release_succeeds
    - set_filler_skip_subrelease_long_interval
    - HugePageAwareAllocator::PrintInPbtxt
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzHPAA(FuzzHugePageAwareAllocatorOptions fuzz_options,\n              const
      std::vector<Instruction>& instructions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::NonNegative<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: tcmalloc::tcmalloc_internal::AnyDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 3
    functionsReached:
    - fuzztest::NonNegative<int64_t>
    linkageType: ''
    returnType: auto
    signature: auto AnyDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::Positive<int64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: tcmalloc::tcmalloc_internal::AnyPositiveDuration
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 3
    functionsReached:
    - fuzztest::Positive<int64_t>
    linkageType: ''
    returnType: auto
    signature: auto AnyPositiveDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:627,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:632,1
    - Dst: tcmalloc_internal::BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: std::clamp
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:634,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:635,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:636,1
    - Dst: fuzztest::ElementOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:638,1
    - Dst: fuzztest::ElementOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::AnyPositiveDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::GetHPAADomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::BytesToLengthFloor
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::ElementOf
    - tcmalloc::tcmalloc_internal::AnyPositiveDuration
    - std::clamp
    linkageType: ''
    returnType: auto
    signature: auto GetHPAADomain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:650,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:651,1
    - Dst: fuzztest::Arbitrary<ResetSubreleaseIntervals>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:652,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:653,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:657,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:658,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:662,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:663,1
    - Dst: fuzztest::Arbitrary<SetReleasePartialAllocPages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:665,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:666,1
    - Dst: fuzztest::Arbitrary<SetHpaaSubrelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:667,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:668,1
    - Dst: fuzztest::Arbitrary<SetReleaseSucceeds>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:669,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:670,1
    - Dst: fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:672,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:673,1
    - Dst: fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:675,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:676,1
    - Dst: fuzztest::VectorOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:680,1
    - Dst: fuzztest::Just
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:681,1
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:684,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:685,1
    - Dst: fuzztest::Arbitrary<ResetSubreleaseIntervals>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:686,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:687,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:691,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:692,1
    - Dst: tcmalloc::tcmalloc_internal::AnyDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:696,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:697,1
    - Dst: fuzztest::Arbitrary<SetReleasePartialAllocPages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:699,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:700,1
    - Dst: fuzztest::Arbitrary<SetHpaaSubrelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:701,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:702,1
    - Dst: fuzztest::Arbitrary<SetReleaseSucceeds>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:703,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:704,1
    - Dst: fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:706,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:707,1
    - Dst: fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:709,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:710,1
    - Dst: fuzztest::VectorOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:714,1
    - Dst: tcmalloc::tcmalloc_internal::GetInstructionDomain
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 716
    functionName: tcmalloc::tcmalloc_internal::GetChangeParamDomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 3
    functionsReached:
    - fuzztest::OneOf
    - fuzztest::Arbitrary<SetHpaaSubrelease>
    - fuzztest::Arbitrary<SetReleaseSucceeds>
    - fuzztest::Just
    - fuzztest::Arbitrary<SetReleasePartialAllocPages>
    - fuzztest::Arbitrary<SetUseUserspaceCollapseHeuristics>
    - tcmalloc::tcmalloc_internal::GetInstructionDomain
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::VectorOf
    - fuzztest::Arbitrary<SetHugeRegionDemandBasedRelease>
    - tcmalloc::tcmalloc_internal::AnyDuration
    - fuzztest::Arbitrary<ResetSubreleaseIntervals>
    linkageType: ''
    returnType: fuzztest::Domain<ChangeParam>
    signature: fuzztest::Domain<ChangeParam> GetChangeParamDomain(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzztest::OneOf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:719,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:720,1
    - Dst: fuzztest::Arbitrary<Alloc>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:721,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:722,1
    - Dst: fuzztest::Arbitrary<Dealloc>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:723,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:724,1
    - Dst: fuzztest::Arbitrary<ReleasePages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:725,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:726,1
    - Dst: fuzztest::Arbitrary<ReleasePagesBreakingHugepages>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:728,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:729,1
    - Dst: fuzztest::Arbitrary<GatherStatsPbtxt>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:730,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:731,1
    - Dst: fuzztest::Arbitrary<PrintStats>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:732,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:733,1
    - Dst: fuzztest::Arbitrary<GatherAndCheckStats>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:734,1
    - Dst: tcmalloc_internal::PageMap::PageMap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:735,1
    - Dst: tcmalloc::tcmalloc_internal::GetChangeParamDomain
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 737
    functionName: tcmalloc::tcmalloc_internal::GetInstructionDomain
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 4
    functionsReached:
    - fuzztest::OneOf
    - fuzztest::Arbitrary<ReleasePages>
    - fuzztest::Arbitrary<GatherStatsPbtxt>
    - fuzztest::Arbitrary<Alloc>
    - tcmalloc_internal::PageMap::PageMap
    - fuzztest::Arbitrary<Dealloc>
    - tcmalloc::tcmalloc_internal::GetChangeParamDomain
    - fuzztest::Arbitrary<ReleasePagesBreakingHugepages>
    - fuzztest::Arbitrary<GatherAndCheckStats>
    - fuzztest::Arbitrary<PrintStats>
    linkageType: ''
    returnType: fuzztest::Domain<Instruction>
    signature: fuzztest::Domain<Instruction> GetInstructionDomain(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:748,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:748,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:751,1
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:767,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:767,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:770,1
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 779
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::FuzzHPAA
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(HugePageAwareAllocatorTest, FuzzHPAARegression2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 804
    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, b471822138)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzHPAA
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 822
    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, b470332457)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/experiment.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 69
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' a'
    argTypes:
    - Sink
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Alloc& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - Shuffle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Shuffle& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - Dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Dealloc& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - DeallocNoRemove
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const DeallocNoRemove& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - DeallocIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const DeallocIndex& d)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:96,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:102,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:103,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:111,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:112,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:113,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:116,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:116,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:117,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:121,1
    - Dst: auto::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:121,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:125,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:126,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:130,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:134,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:135,1
    - Dst: auto::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:142,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:143,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:143,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:145,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:151,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:152,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:152,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:163,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:164,1
    - Dst: auto::BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:165,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:169,1
    - Dst: auto::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:170,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:175,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:175,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:178,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:182,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:182,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:194,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:195,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:195,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:207,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 4
    argNames:
    - object_size_direct
    - num_pages_direct
    - num_objects_to_move
    - instructions
    argTypes:
    - size_t
    - size_t
    - uint8_t
    - std::vector<Instruction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::FuzzSpanInstructions
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - free
    - PageIdContaining
    - std::vector::begin
    - std::min<size_t>
    - TC_CHECK_EQ
    - std::vector::reserve
    - auto::FreelistPopBatch
    - EXPECT_FALSE
    - auto::in_bytes
    - Length
    - auto::FreelistEmpty
    - posix_memalign
    - tcmalloc_internal::Span::UseBitmapForSize
    - Range
    - std::make_unique<Span>
    - std::vector::resize
    - std::min
    - setjmp
    - auto::PtrToIdx
    - std::vector::data
    - absl::MakeSpan
    - auto::BuildFreelist
    - std::vector::end
    - auto::BitmapPtrToIdx
    - GTEST_SKIP
    - std::shuffle
    - std::vector::size
    - auto::FreelistPushBatch
    - std::max
    - std::visit
    - tcmalloc_internal::Span::CalcReciprocal
    - absl::Span::size
    - static_cast<size_t>
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzSpanInstructions(size_t object_size_direct, size_t num_pages_direct,\n
      \                         uint8_t num_objects_to_move,\n                          std::vector<Instruction>
      instructions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:214,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:219,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:220,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:222,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:223,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:226,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:226,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:227,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:234,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:236,1
    - Dst: auto::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:236,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:237,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:239,1
    - Dst: auto::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:239,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:241,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:242,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:243,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:243,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:244,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:246,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:246,1
    - Dst: auto::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:247,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:247,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:249,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:250,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:251,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:252,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:252,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:255,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:255,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:256,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:256,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: auto::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:259,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:260,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:260,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:262,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:267,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:270,1
    - Dst: auto::AllocTime
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:270,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - object_size
    - num_pages
    - num_to_move
    - initial_objects_at_build
    - alloc_time
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::FuzzSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - std::vector::insert
    - free
    - PageIdContaining
    - TC_CHECK_GT
    - TC_CHECK_EQ
    - std::vector::reserve
    - auto::FreelistPopBatch
    - auto::in_bytes
    - Length
    - auto::FreelistEmpty
    - posix_memalign
    - Range
    - std::make_unique<Span>
    - std::vector::resize
    - std::min
    - auto::AllocTime
    - auto::Allocated
    - absl::MakeSpan
    - auto::BuildFreelist
    - std::vector::end
    - std::vector::size
    - auto::FreelistPushBatch
    - TC_CHECK
    - tcmalloc_internal::Span::CalcReciprocal
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzSpan(size_t object_size, size_t num_pages, size_t num_to_move,\n
      \             size_t initial_objects_at_build, uint64_t alloc_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Regression1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Fuzz6321706670620672)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash01d72a40d5815461b92d3f7c0f6377fd441b0034)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash32697afd59029eb8356fee8ba568e7f6b58d728f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash42b80edf9551d1095aebb6724c070ee43d490125)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash500955af6568b0ed234bd40d6a01af496ba15eb2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash6ef2b6ae2246d1bda0190983b1007df2699e7738)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash746940d0368bfe3e4a94b60659eeb6cb87106618)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Testcase5877384059617280)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' a'
    argTypes:
    - Sink
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Alloc& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - Shuffle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Shuffle& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - Dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Dealloc& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - DeallocNoRemove
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const DeallocNoRemove& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - DeallocIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const DeallocIndex& d)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:96,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:102,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:103,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:111,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:112,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:113,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:116,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:116,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:117,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:121,1
    - Dst: auto::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:121,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:125,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:126,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:130,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:134,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:135,1
    - Dst: auto::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:142,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:143,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:143,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:145,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:151,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:152,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:152,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:163,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:164,1
    - Dst: auto::BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:165,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:169,1
    - Dst: auto::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:170,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:175,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:175,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:178,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:182,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:182,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:194,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:195,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:195,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:207,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 4
    argNames:
    - object_size_direct
    - num_pages_direct
    - num_objects_to_move
    - instructions
    argTypes:
    - size_t
    - size_t
    - uint8_t
    - std::vector<Instruction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::FuzzSpanInstructions
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - free
    - PageIdContaining
    - std::vector::begin
    - std::min<size_t>
    - TC_CHECK_EQ
    - std::vector::reserve
    - auto::FreelistPopBatch
    - EXPECT_FALSE
    - auto::in_bytes
    - Length
    - auto::FreelistEmpty
    - posix_memalign
    - tcmalloc_internal::Span::UseBitmapForSize
    - Range
    - std::make_unique<Span>
    - std::vector::resize
    - std::min
    - setjmp
    - auto::PtrToIdx
    - std::vector::data
    - absl::MakeSpan
    - auto::BuildFreelist
    - std::vector::end
    - auto::BitmapPtrToIdx
    - GTEST_SKIP
    - std::shuffle
    - std::vector::size
    - auto::FreelistPushBatch
    - std::max
    - std::visit
    - tcmalloc_internal::Span::CalcReciprocal
    - absl::Span::size
    - static_cast<size_t>
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzSpanInstructions(size_t object_size_direct, size_t num_pages_direct,\n
      \                         uint8_t num_objects_to_move,\n                          std::vector<Instruction>
      instructions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:214,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:219,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:220,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:222,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:223,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:226,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:226,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:227,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:234,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:236,1
    - Dst: auto::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:236,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:237,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:239,1
    - Dst: auto::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:239,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:241,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:242,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:243,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:243,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:244,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:246,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:246,1
    - Dst: auto::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:247,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:247,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:249,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:250,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:251,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:252,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:252,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:255,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:255,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:256,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:256,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: auto::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:259,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:260,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:260,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:262,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:267,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:270,1
    - Dst: auto::AllocTime
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:270,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - object_size
    - num_pages
    - num_to_move
    - initial_objects_at_build
    - alloc_time
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::FuzzSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 9
    functionsReached:
    - TC_CHECK_LE
    - std::vector::insert
    - free
    - PageIdContaining
    - TC_CHECK_GT
    - TC_CHECK_EQ
    - std::vector::reserve
    - auto::FreelistPopBatch
    - auto::in_bytes
    - Length
    - auto::FreelistEmpty
    - posix_memalign
    - Range
    - std::make_unique<Span>
    - std::vector::resize
    - std::min
    - auto::AllocTime
    - auto::Allocated
    - absl::MakeSpan
    - auto::BuildFreelist
    - std::vector::end
    - std::vector::size
    - auto::FreelistPushBatch
    - TC_CHECK
    - tcmalloc_internal::Span::CalcReciprocal
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzSpan(size_t object_size, size_t num_pages, size_t num_to_move,\n
      \             size_t initial_objects_at_build, uint64_t alloc_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Regression1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Fuzz6321706670620672)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash01d72a40d5815461b92d3f7c0f6377fd441b0034)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash32697afd59029eb8356fee8ba568e7f6b58d728f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash42b80edf9551d1095aebb6724c070ee43d490125)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash500955af6568b0ed234bd40d6a01af496ba15eb2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash6ef2b6ae2246d1bda0190983b1007df2699e7738)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash746940d0368bfe3e4a94b60659eeb6cb87106618)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Testcase5877384059617280)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' a'
    argTypes:
    - Sink
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Alloc& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - Shuffle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Shuffle& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - Dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Dealloc& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - DeallocNoRemove
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const DeallocNoRemove& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - DeallocIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const DeallocIndex& d)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:96,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:102,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:103,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:111,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:112,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:113,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:116,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:116,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:117,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:121,1
    - Dst: auto::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:121,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:125,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:126,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:130,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:134,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:135,1
    - Dst: auto::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:142,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:143,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:143,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:145,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:151,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:152,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:152,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:163,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:164,1
    - Dst: auto::BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:165,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:169,1
    - Dst: auto::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:170,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:175,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:175,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:178,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:182,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:182,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:194,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:195,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:195,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:207,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 4
    argNames:
    - object_size_direct
    - num_pages_direct
    - num_objects_to_move
    - instructions
    argTypes:
    - size_t
    - size_t
    - uint8_t
    - std::vector<Instruction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::FuzzSpanInstructions
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - free
    - PageIdContaining
    - std::vector::begin
    - std::min<size_t>
    - TC_CHECK_EQ
    - std::vector::reserve
    - auto::FreelistPopBatch
    - EXPECT_FALSE
    - auto::in_bytes
    - Length
    - auto::FreelistEmpty
    - posix_memalign
    - tcmalloc_internal::Span::UseBitmapForSize
    - Range
    - std::make_unique<Span>
    - std::vector::resize
    - std::min
    - setjmp
    - auto::PtrToIdx
    - std::vector::data
    - absl::MakeSpan
    - auto::BuildFreelist
    - std::vector::end
    - auto::BitmapPtrToIdx
    - GTEST_SKIP
    - std::shuffle
    - std::vector::size
    - auto::FreelistPushBatch
    - std::max
    - std::visit
    - tcmalloc_internal::Span::CalcReciprocal
    - absl::Span::size
    - static_cast<size_t>
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzSpanInstructions(size_t object_size_direct, size_t num_pages_direct,\n
      \                         uint8_t num_objects_to_move,\n                          std::vector<Instruction>
      instructions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:214,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:219,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:220,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:222,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:223,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:226,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:226,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:227,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:234,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:236,1
    - Dst: auto::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:236,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:237,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:239,1
    - Dst: auto::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:239,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:241,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:242,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:243,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:243,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:244,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:246,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:246,1
    - Dst: auto::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:247,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:247,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:249,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:250,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:251,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:252,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:252,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:255,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:255,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:256,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:256,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: auto::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:259,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:260,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:260,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:262,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:267,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:270,1
    - Dst: auto::AllocTime
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:270,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - object_size
    - num_pages
    - num_to_move
    - initial_objects_at_build
    - alloc_time
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::FuzzSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 18
    functionsReached:
    - TC_CHECK_LE
    - std::vector::insert
    - free
    - PageIdContaining
    - TC_CHECK_GT
    - TC_CHECK_EQ
    - std::vector::reserve
    - auto::FreelistPopBatch
    - auto::in_bytes
    - Length
    - auto::FreelistEmpty
    - posix_memalign
    - Range
    - std::make_unique<Span>
    - std::vector::resize
    - std::min
    - auto::AllocTime
    - auto::Allocated
    - absl::MakeSpan
    - auto::BuildFreelist
    - std::vector::end
    - std::vector::size
    - auto::FreelistPushBatch
    - TC_CHECK
    - tcmalloc_internal::Span::CalcReciprocal
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzSpan(size_t object_size, size_t num_pages, size_t num_to_move,\n
      \             size_t initial_objects_at_build, uint64_t alloc_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Regression1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Fuzz6321706670620672)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash01d72a40d5815461b92d3f7c0f6377fd441b0034)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash32697afd59029eb8356fee8ba568e7f6b58d728f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash42b80edf9551d1095aebb6724c070ee43d490125)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash500955af6568b0ed234bd40d6a01af496ba15eb2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash6ef2b6ae2246d1bda0190983b1007df2699e7738)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash746940d0368bfe3e4a94b60659eeb6cb87106618)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Testcase5877384059617280)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' a'
    argTypes:
    - Sink
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Alloc& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' s'
    argTypes:
    - Sink
    - Shuffle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Shuffle& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - Dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const Dealloc& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - DeallocNoRemove
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const DeallocNoRemove& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' d'
    argTypes:
    - Sink
    - DeallocIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 8
    functionsReached:
    - absl::Format
    linkageType: ''
    returnType: void
    signature: void AbslStringify(Sink& sink, const DeallocIndex& d)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:90,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:96,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:102,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:103,1
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:111,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:112,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:113,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:116,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:116,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:117,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:119,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:121,1
    - Dst: auto::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:121,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:125,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:126,1
    - Dst: std::visit
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:130,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:134,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:135,1
    - Dst: auto::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:142,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:143,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:143,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:144,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:145,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:147,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:151,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:152,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:152,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:158,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:163,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:164,1
    - Dst: auto::BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:165,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:169,1
    - Dst: auto::PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:170,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:174,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:175,1
    - Dst: absl::Span::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:175,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:178,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:182,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:182,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:194,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:195,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:195,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:197,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:207,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 4
    argNames:
    - object_size_direct
    - num_pages_direct
    - num_objects_to_move
    - instructions
    argTypes:
    - size_t
    - size_t
    - uint8_t
    - std::vector<Instruction>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::FuzzSpanInstructions
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - free
    - PageIdContaining
    - std::vector::begin
    - std::min<size_t>
    - TC_CHECK_EQ
    - std::vector::reserve
    - auto::FreelistPopBatch
    - EXPECT_FALSE
    - auto::in_bytes
    - Length
    - auto::FreelistEmpty
    - posix_memalign
    - tcmalloc_internal::Span::UseBitmapForSize
    - Range
    - std::make_unique<Span>
    - std::vector::resize
    - std::min
    - setjmp
    - auto::PtrToIdx
    - std::vector::data
    - absl::MakeSpan
    - auto::BuildFreelist
    - std::vector::end
    - auto::BitmapPtrToIdx
    - GTEST_SKIP
    - std::shuffle
    - std::vector::size
    - auto::FreelistPushBatch
    - std::max
    - std::visit
    - tcmalloc_internal::Span::CalcReciprocal
    - absl::Span::size
    - static_cast<size_t>
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzSpanInstructions(size_t object_size_direct, size_t num_pages_direct,\n
      \                         uint8_t num_objects_to_move,\n                          std::vector<Instruction>
      instructions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SizeMap::IsValidSizeClass
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:214,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:219,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:220,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:222,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:223,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:226,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:226,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:227,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:231,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:234,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:236,1
    - Dst: auto::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:236,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:237,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:239,1
    - Dst: auto::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:239,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:241,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:242,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:243,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:243,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:244,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:246,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:246,1
    - Dst: auto::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:247,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:247,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:249,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:250,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:251,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:252,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:252,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:255,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:255,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:256,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:256,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: auto::Allocated
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:257,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:259,1
    - Dst: auto::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:260,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:260,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:262,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:267,1
    - Dst: auto::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:267,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:270,1
    - Dst: auto::AllocTime
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:270,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - object_size
    - num_pages
    - num_to_move
    - initial_objects_at_build
    - alloc_time
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 273
    functionName: tcmalloc::tcmalloc_internal::FuzzSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 27
    functionsReached:
    - TC_CHECK_LE
    - std::vector::insert
    - free
    - PageIdContaining
    - TC_CHECK_GT
    - TC_CHECK_EQ
    - std::vector::reserve
    - auto::FreelistPopBatch
    - auto::in_bytes
    - Length
    - auto::FreelistEmpty
    - posix_memalign
    - Range
    - std::make_unique<Span>
    - std::vector::resize
    - std::min
    - auto::AllocTime
    - auto::Allocated
    - absl::MakeSpan
    - auto::BuildFreelist
    - std::vector::end
    - std::vector::size
    - auto::FreelistPushBatch
    - TC_CHECK
    - tcmalloc_internal::Span::CalcReciprocal
    - tcmalloc_internal::SizeMap::IsValidSizeClass
    linkageType: ''
    returnType: void
    signature: "void FuzzSpan(size_t object_size, size_t num_pages, size_t num_to_move,\n
      \             size_t initial_objects_at_build, uint64_t alloc_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Regression1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Fuzz6321706670620672)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash01d72a40d5815461b92d3f7c0f6377fd441b0034)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash32697afd59029eb8356fee8ba568e7f6b58d728f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash42b80edf9551d1095aebb6724c070ee43d490125)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash500955af6568b0ed234bd40d6a01af496ba15eb2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash6ef2b6ae2246d1bda0190983b1007df2699e7738)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Crash746940d0368bfe3e4a94b60659eeb6cb87106618)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::FuzzSpan
      Src: /src/tcmalloc/tcmalloc/span_fuzz.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FuzzSpan
    linkageType: ''
    returnType: void
    signature: void TEST(SpanTest, Testcase5877384059617280)
  - 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: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 0
    functionsReached:
    - SelectExperiments
    - absl::string_view::empty
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    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: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 1
    functionsReached:
    - SelectExperiments
    - absl::string_view::empty
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    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: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 2
    functionsReached:
    - SelectExperiments
    - absl::string_view::empty
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    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: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: tcmalloc::tcmalloc_internal::FuzzSelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment_fuzz.cc
    functionUses: 3
    functionsReached:
    - SelectExperiments
    - absl::string_view::empty
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    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:
    - ABSL_RAW_CHECK
    - Add
    - INVOKE_HOOKS
    - MallocHook::RemoveNewHook
    - MallocHook_HooksChanged
    - MallocHook_InitAtFirstAllocation_HeapLeakChecker
    - MallocHook::InvokeNewHook
    - 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:
    - MallocHook_HooksChanged
    - Remove
    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:
    - MallocHook_HooksChanged
    - Remove
    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: 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:
    - ABSL_PREDICT_FALSE
    - static_cast<double>
    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:
    - ABSL_PREDICT_FALSE
    - static_cast<double>
    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:
    - ABSL_PREDICT_FALSE
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double prob_returned()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:158,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:158,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:159,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:168,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:168,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 1
    argNames:
    - ABSL_FLAG
    argTypes:
    - baseline
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 171
    functionName: ABSL_FLAG
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - reinterpret_cast<void*>
    - absl::base_internal::CycleClock::Now
    - HugePageContaining
    - end
    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:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    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: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    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:185,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:185,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:186,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:186,1
    - Dst: PAlloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:187,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:188,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - mark
    argTypes:
    - PAlloc
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 6
    functionsReached:
    - raw_num
    - PAlloc::n::raw_num
    - first_page
    - EXPECT_LE
    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:197,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:197,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:199,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LT
    - ABSL_ARRAYSIZE
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:208,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - len
    - success
    argTypes:
    - PageId
    - Length
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: MockMemoryInterface::Expect
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LT
    - Range
    linkageType: ''
    returnType: void
    signature: void Expect(PageId p, Length len, bool success, int error_number =
      0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:214,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: MockMemoryInterface::VerifyAndClear
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void VerifyAndClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:241,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:241,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:242,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:242,1
    - Dst: PAlloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:243,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:244,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - mark
    argTypes:
    - PAlloc
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - PAlloc::n::raw_num
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    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:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    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:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    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,\n                            int
      error_number = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    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:266,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    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:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: ReleaseFree
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 8
    functionsReached:
    - ReleaseFree
    linkageType: ''
    returnType: Length
    signature: Length ReleaseFree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 8
    functionsReached:
    - Collapse
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus Collapse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    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: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    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:293,1
    - Dst: HugePageContaining
      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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - is_hugepage_backed
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    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:299,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:300,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:301,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:301,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: FakePageFlags::IsHugepageBacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - PageIdContaining
    - HugePageContaining
    - contains
    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: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    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: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    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:317,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:318,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:319,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:319,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:319,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: FakeResidency::GetUnbackedAndSwappedBitmaps
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - EXPECT_TRUE
    - PageIdContaining
    - HugePageContaining
    - contains
    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:326,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:327,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - ' unbacked'
    - ' swapped'
    argTypes:
    - void*
    - Bitmap<kMaxResidencyBits>
    - Bitmap<kMaxResidencyBits>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    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: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    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:343,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:347,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:347,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:348,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:349,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:349,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:350,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:351,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:351,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:352,1
    - Dst: Check
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:359,1
    - Dst: n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 361
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - n::raw_num
    - EXPECT_EQ
    - longest_free_range
    - free_pages
    - Length
    - used_pages
    - Mark
    - std::vector::push_back
    - ASSERT_GE
    - auto::raw_num
    - Check
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, AllocSane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:366,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:367,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:368,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:369,1
    - Dst: PAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:371,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:371,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:372,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:373,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:374,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:376,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:377,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:378,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:379,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:381,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:382,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:383,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:384,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:386,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 388
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - first_page
    - VerifyAndClear
    - Collapse
    - Put
    - ExpectCollapsedPages
    - PAlloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, Collapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:393,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:394,1
    - Dst: PAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:396,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:396,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:397,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:398,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:400,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:401,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:403,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:404,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:405,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:407,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:408,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 411
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - first_page
    - VerifyAndClear
    - Collapse
    - Put
    - ExpectCollapsedPages
    - PAlloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, CollapseErrorNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:416,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:417,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:418,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:419,1
    - Dst: PAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:421,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:421,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:422,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:423,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:424,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:426,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:427,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:428,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:429,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:432,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:432,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:433,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:433,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:435,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:436,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:436,1
    - Dst: ExpectCollapsedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:437,1
    - Dst: Collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:438,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:439,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:441,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:442,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 444
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - ReleaseFree
    - EXPECT_FALSE
    - first_page
    - ASSERT_FALSE
    - VerifyAndClear
    - Collapse
    - Put
    - ExpectUnbackPages
    - ExpectCollapsedPages
    - released
    - ASSERT_TRUE
    - PAlloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, CollapseReleasedPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:449,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:449,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:450,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:451,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:451,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:452,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:452,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:454,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:455,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:459,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:460,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:461,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:464,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:464,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:465,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:465,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:467,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 469
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - released_pages
    - ReleaseFree
    - EXPECT_EQ
    - free_pages
    - VerifyAndClear
    - Length
    - Put
    - ExpectUnbackPages
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, ReleasingReturn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:474,1
    - Dst: Get
      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: Length
      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: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:479,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:480,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:484,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:485,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:486,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:487,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:490,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:491,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:493,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:496,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:497,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:498,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 500
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - ReleaseFree
    - VerifyAndClear
    - Length
    - Put
    - ExpectUnbackPages
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, ReleasingRetain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:505,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:505,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:506,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:507,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:507,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:508,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:508,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:510,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:511,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:515,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:516,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:517,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:520,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:521,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:521,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:524,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:525,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:527,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:531,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:532,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:532,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:534,1
    - Dst: VerifyAndClear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:537,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:538,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 539
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - released_pages
    - ReleaseFree
    - EXPECT_EQ
    - free_pages
    - VerifyAndClear
    - Length
    - Put
    - ExpectUnbackPages
    - std::min
    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:543,1
    - Dst: EmpiricalDistribution
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:545,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:550,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:550,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:553,1
    - Dst: dist
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:553,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:554,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:555,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:556,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:556,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:560,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:567,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:568,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:570,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:573,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:574,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:575,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:575,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:575,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:579,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:579,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:580,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:582,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:583,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:587,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:587,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:588,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:588,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:589,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:589,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:590,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:590,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:591,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:591,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:592,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:596,1
    - Dst: dist
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:596,1
    - Dst: longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:597,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:598,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:598,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:602,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:602,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:602,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:603,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:603,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:603,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:611,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:612,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:617,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:626,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:627,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:627,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:628,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:628,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:628,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:628,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:634,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:634,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:638,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 640
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - absl::Uniform<int32_t>
    - std::vector::begin
    - Put
    - std::vector::reserve
    - std::vector::pop_back
    - Length
    - std::vector::push_back
    - push_back
    - std::swap
    - absl::GetFlag
    - Length::raw_num
    - EmpiricalDistribution
    - longest_free_range
    - std::vector::end
    - absl::Bernoulli
    - std::vector::back
    - used_pages
    - std::vector::size
    - static_cast<double>
    - EXPECT_GE
    - dist
    - std::vector::empty
    - std::sort
    - printf
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, Defrag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:649,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:650,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:651,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:652,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:653,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:654,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:655,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:658,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:659,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:668,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:673,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:674,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:675,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:676,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:678,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:679,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:679,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:680,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:683,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:683,1
    - Dst: Put
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:688,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:689,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:690,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:690,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:690,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:691,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:692,1
    - Dst: EXPECT_EQ
      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: EXPECT_EQ
      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: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:698,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:698,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:699,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:701,1
    - Dst: testing::ElementsAre
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:701,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:702,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:703,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:704,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:704,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:705,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:705,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:709,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:710,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:711,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:712,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:713,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:714,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:714,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:714,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:714,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:715,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:716,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:717,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:717,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:718,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:718,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:720,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:721,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:722,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:722,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:722,1
    - Dst: ExpectUnbackPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:723,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:723,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:723,1
    - Dst: ExpectUnbackPages
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:725,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:725,1
    - Dst: ReleaseFree
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:725,1
    - Dst: Stat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:726,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:727,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:727,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:728,1
    - Dst: testing::ElementsAre
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:729,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:729,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:729,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:731,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:732,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 733
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - AddSpanStats
    - Get
    - clear
    - Length::raw_num
    - ASSERT_LE
    - EXPECT_EQ
    - ReleaseFree
    - testing::ElementsAre
    - Length
    - Stat
    - Put
    - ExpectUnbackPages
    - EXPECT_THAT
    - push_back
    - LargeSpanStats
    - auto::raw_num
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageTrackerTest, Stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:649,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:650,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:651,1
    - Dst: std::vector<Length>*::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:652,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:653,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:654,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:655,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:658,1
    - Dst: std::vector<Length>*::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:659,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: 662
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 662
    functionName: Stat
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 1
    functionsReached:
    - AddSpanStats
    - std::vector<Length>*::clear
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:751,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:751,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:753,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:754,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:754,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:754,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:757,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:757,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:757,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:760,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:760,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:761,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:761,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:761,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:763,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:763,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:770,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:771,1
    - Dst: testing::AllOfArray
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:772,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 774
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - AddSpanStats
    - Get
    - std::vector::erase
    - EXPECT_EQ
    - std::vector::end
    - ASSERT_EQ
    - std::vector::begin
    - Length
    - Put
    - std::sort
    - testing::AllOfArray
    - std::vector::back
    - std::vector::reserve
    - used_pages
    - std::vector::size
    - EXPECT_THAT
    - std::vector::push_back
    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: 778
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: FakeClock::FakeClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 779
    functionName: FakeClock::now
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t now()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 780
    functionName: FakeClock::freq
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ToDoubleNanoseconds
    linkageType: ''
    returnType: double
    signature: double freq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:782,1
    - Dst: FakeClock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 783
    functionName: FakeClock::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - FakeClock::freq
    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: 784
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 784
    functionName: FakeClock::ResetClock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetClock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 794
    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:796,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:797,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 800
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Range::start_addr
    - FakeClock::Advance
    - EXPECT_EQ
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:803,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:804,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:805,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: MockCollapse::TriedCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - PageIdContaining
    - HugePageContaining
    - contains
    linkageType: ''
    returnType: bool
    signature: bool TriedCollapse(void* addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:809,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:810,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:811,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:811,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 813
    functionName: MockCollapse::TimesCollapsed
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - HugePage::start_addr
    - PageIdContaining
    - HugePageContaining
    - contains
    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: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    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: 2
    argCount: 1
    argNames:
    - error_number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 816
    functionName: MockCollapse::SetErrorNumber
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetErrorNumber(int error_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - latency
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: MockCollapse::SetLatency
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLatency(absl::Duration latency)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 828
    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:830,1
    - Dst: std::optional<absl::string_view>::has_value
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    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: 838
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 838
    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: 839
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 839
    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: 848
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 848
    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:856,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:859,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 862
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - unlock
    - lock
    - DecrementCount
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:879,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:880,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:880,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:882,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:883,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 884
    functionName: FillerTest::GetBacking
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - size
    - reinterpret_cast<void*>
    - HugePageContaining
    - resize
    - TC_CHECK_EQ
    linkageType: ''
    returnType: HugePage
    signature: HugePage GetBacking()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId::index
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 886
    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:889,1
    - Dst: FillerTest::GetFakePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - mark
    argTypes:
    - PageId
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 892
    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:895,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:896,1
    - Dst: FillerTest::GetFakePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - mark
    argTypes:
    - PageId
    - Length
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 898
    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: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 904
    functionName: FillerTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:917,1
    - Dst: FakeClock::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:918,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 922
    functionName: FillerTest::FillerTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - FakeClock::ResetClock
    linkageType: ''
    returnType: void
    signature: void FillerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:924,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 924
    functionName: ~FillerTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - NHugePages
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void ~FillerTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillerTest::MarkRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alloc'
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 935
    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:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alloc'
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 937
    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:951,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:951,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:952,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:955,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:956,1
    - Dst: in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:957,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 958
    functionName: FillerTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - size
    - stats
    - EXPECT_EQ
    - in_pages
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:962,1
    - Dst: FillerTest::AllocateRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:963,1
    - Dst: FillerTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:965,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 960
    functionDepth: 3
    functionLinenumber: 960
    functionLinenumberEnd: 968
    functionName: FillerTest::AllocateWithSpanAllocInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::CheckStats
    - TC_CHECK_LE
    - FillerTest::AllocateRaw
    - 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:972,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:976,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:979,1
    - Dst: FillerTest::AllocateRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:979,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:980,1
    - Dst: FillerTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:981,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:981,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 986
    functionName: FillerTest::AllocateVectorWithSpanAllocInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - FillerTest::AllocateRaw
    - FillerTest::CheckStats
    - Length
    - FillerTest::Mark
    - std::vector::back
    - std::vector::push_back
    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:991,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:994,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1000,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1003,1
    - Dst: FillerTest::AllocateRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1003,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1004,1
    - Dst: FillerTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1005,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1005,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 1010
    functionName: FillerTest::AllocateVector
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::AllocateRaw
    - absl::Bernoulli
    - FillerTest::CheckStats
    - Length
    - FillerTest::Mark
    - std::vector::back
    - absl::Uniform<size_t>
    - std::vector::push_back
    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:1013,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1016,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1020,1
    - Dst: FillerTest::AllocateRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1024,1
    - Dst: FillerTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1026,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1012
    functionDepth: 3
    functionLinenumber: 1012
    functionLinenumberEnd: 1029
    functionName: FillerTest::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - FillerTest::AllocateRaw
    - absl::Bernoulli
    - FillerTest::CheckStats
    - FillerTest::Mark
    - absl::Uniform<size_t>
    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:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pv'
    argTypes:
    - std::vector<PAlloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1036
    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:1040,1
    - Dst: FillerTest::DeleteRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1041,1
    - Dst: FillerTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1044
    functionName: FillerTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FillerTest::DeleteRaw
    - FillerTest::CheckStats
    - FillerTest::Check
    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:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pv'
    argTypes:
    - std::vector<PAlloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    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:1058,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: 1061
      start: 1054
    functionDepth: 4
    functionLinenumber: 1054
    functionLinenumberEnd: 1061
    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:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1068
    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:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1076
    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:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1083
    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:1093,1
    - Dst: FillerTest::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1094,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    - use_userspace_collapse_heuristics
    - pageflags
    - residency
    argTypes:
    - bool
    - bool
    - bool
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1098
    functionName: FillerTest::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 1
    functionsReached:
    - lock
    - FillerTest::TreatHugepageTrackers
    - unlock
    linkageType: ''
    returnType: void
    signature: "void TreatHugepageTrackers(bool enable_collapse,\n                             bool
      enable_release_free_swapped,\n                             bool use_userspace_collapse_heuristics,\n
      \                            PageFlagsBase* pageflags, Residency* residency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1112,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1116,1
    - Dst: PageTracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1116,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1117,1
    - Dst: PageTracker*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1108
    functionDepth: 2
    functionLinenumber: 1108
    functionLinenumberEnd: 1124
    functionName: FillerTest::DeleteRaw
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 1
    functionsReached:
    - PageTracker*::empty
    - EXPECT_EQ
    - EXPECT_TRUE
    - Put
    - PageTracker*::longest_free_range
    - Range
    linkageType: ''
    returnType: bool
    signature: bool DeleteRaw(const PAlloc& p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1131,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1140,1
    - Dst: FillerTest::GetBacking
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1146,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1146,1
    - Dst: PAlloc::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1149,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - donated
    argTypes:
    - Length
    - SpanAllocInfo
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1157
    functionName: FillerTest::AllocateRaw
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 4
    functionsReached:
    - TryGet
    - PAlloc::pt::Get
    - EXPECT_TRUE
    - PageTracker::PageTracker
    - Contribute
    - FillerTest::GetBacking
    - EXPECT_LT
    linkageType: ''
    returnType: PAlloc
    signature: PAlloc AllocateRaw(Length n, SpanAllocInfo span_alloc_info, bool donated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1169,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1170,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1170,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1171,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1171,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1172,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1172,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1173,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1174,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1176,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1180,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1182,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1182,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1182,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1183,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1183,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1185,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1189,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1192,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1193,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1194,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1194,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1194,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1198,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1198,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1198,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1199,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1203,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1204,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1206
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - pages_allocated
    - size
    - EXPECT_GE
    - ASSERT_EQ
    - absl::Bernoulli
    - Length
    - EXPECT_LE
    - absl::c_shuffle
    - Allocate
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - HugeLength::in_pages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, Density)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1210,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1210,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1211,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1211,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1213,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1214,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1216,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1216,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1218,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1218,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1218,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1221,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1221,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1225,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1225,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1225,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1226,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1230,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1230,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1231,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1231,1
    - Dst: FakePageFlags::MarkHugePageBacked
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1236,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1236,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1236,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1239,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1240,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1240,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1249,1
    - Dst: subrelease_stats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1250,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1250,1
    - Dst: FakeClock::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:1259,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1259,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1260,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1260,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1208
    functionDepth: 3
    functionLinenumber: 1208
    functionLinenumberEnd: 1262
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - subrelease_stats
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - size
    - ASSERT_EQ
    - SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - absl::Minutes
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseFreePagesWhenAnyPageIsSwappedRespectsClock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1267,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1272,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1273,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1280,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1289,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1289,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1291,1
    - Dst: FakePageFlags::IsHugepageBacked
      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: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1293,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1294,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1295,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1300,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1300,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1300,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1301,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1308,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1308,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1309,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1309,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1309,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1312,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1312,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1312,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1317,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1320
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TimesCollapsed
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CollapseDenseBeforeSparse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1325,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1330,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1331,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1337,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1346,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1346,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1348,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1348,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1348,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1350,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1351,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1352,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1352,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1357,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1357,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1357,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1358,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1365,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1365,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1365,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1366,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1366,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1366,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1369,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1369,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1369,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1374,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1377
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TimesCollapsed
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CollapseOrderNObjects)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1383,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1383,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1384,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1384,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1386,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1387,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1389,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1389,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1391,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1391,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1391,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1394,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1395,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1395,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1399,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1399,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1399,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1400,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1406,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1406,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1406,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1407,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1407,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1411,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1411,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1412,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1414,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1414,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1414,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1415,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1416,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1420,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1420,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1421,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1425,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1425,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1426,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1426,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1381
    functionDepth: 3
    functionLinenumber: 1381
    functionLinenumberEnd: 1429
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - subrelease_stats
    - Print
    - p::start_addr
    - strlen
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - testing::HasSubstr
    - DeleteVector
    - Length
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - ASSERT_TRUE
    - size
    - SetRange
    - ASSERT_EQ
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - absl::Minutes
    - std::string::size
    - std::vector::empty
    - AllocateVector
    - std::string::c_str
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseFreePagesWhenAnyPageIsSwapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1436,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1436,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1437,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1437,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1439,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1440,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1442,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1442,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1444,1
    - Dst: FakePageFlags::IsHugepageBacked
      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: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1448,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1448,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1452,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1452,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1452,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1453,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1459,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1459,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1460,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1460,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1462
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - subrelease_stats
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - size
    - ASSERT_EQ
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseNoFreePages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1473,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1473,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1473,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1475,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1475,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1476,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1478,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1479,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1481,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1481,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1483,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1483,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1483,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1485,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1486,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1486,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1491,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1491,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1493,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1493,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1493,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1496,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1496,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1502,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1502,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1502,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1503,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1509,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1509,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1510,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1510,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1516,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1516,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1516,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1517,1
    - Dst: PAlloc::pt::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1517,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1518,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1518,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1520,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1521,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1523
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - subrelease_stats
    - PAlloc::pt::location
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - DeleteVector
    - EXPECT_FALSE
    - Length
    - AllocateVectorWithSpanAllocInfo
    - size
    - SetRange
    - ASSERT_EQ
    - FakePageFlags::FakePageFlags
    - std::vector::back
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - Delete
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - AllocateWithSpanAllocInfo
    - location
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckAllocationsComeFromIntactHugepage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1532,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1538,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1540,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1541,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1542,1
    - Dst: PAlloc::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1542,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1544,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1544,1
    - Dst: PAlloc::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1544,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1546,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1547,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1548,1
    - Dst: PAlloc::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1548,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1554,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1555,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1561,1
    - Dst: DeleteRaw
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1568,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1572,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1583,1
    - Dst: PageTracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1583,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1584,1
    - Dst: PageTracker*::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1584,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1589
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - CheckStats
    - std::thread::join
    - PageTracker*::longest_free_range
    - PAlloc::p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - std::thread
    - EXPECT_TRUE
    - Length
    - std::atomic::load
    - std::vector::push_back
    - PageTracker*::empty
    - SetRange
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - FetchFullyFreedTracker
    - AllocateWithSpanAllocInfo
    - FakePageFlags::IsHugepageBacked
    - DeleteRaw
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ParallelCollapseRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1595,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1595,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1596,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1596,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1597,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1598,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1601,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1603,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1603,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1603,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1605,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1605,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1608,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1608,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1608,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1609,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1615,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1615,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1615,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1618,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1621,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1622,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1624
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - size
    - ASSERT_EQ
    - TriedCollapse
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, DontCollapseAlreadyHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1628,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1628,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1629,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1629,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1630,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1631,1
    - Dst: GetHugePageTreatmentStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1637,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1638,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1639,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1643,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1643,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1645,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1645,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1645,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1647,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1647,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1650,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1650,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1650,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1651,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1655,1
    - Dst: GetHugePageTreatmentStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1660,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1661,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1664,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1664,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1664,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1665,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1665,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1665,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1670,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1675,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1675,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1675,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1677,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1680
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - check_stats
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TimesCollapsed
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - size
    - ASSERT_EQ
    - TriedCollapse
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    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:1685,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1686,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1690,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1690,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1691,1
    - Dst: SetExpectedName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1692,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1696,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1696,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1697,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1701,1
    - Dst: TimesCalled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1701,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1705,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1705,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1706,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1710,1
    - Dst: TimesCalled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1710,1
    - Dst: AllocateWithSpanAllocInfo
      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: SetExpectedName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1716,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1720,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1720,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1725,1
    - Dst: TimesCalled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1725,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1728,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1730,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1730,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1731,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1735,1
    - Dst: TimesCalled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1735,1
    - Dst: SetExpectedName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1737,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1738,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1739,1
    - Dst: Delete
      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: TimesCalled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1684
    functionDepth: 3
    functionLinenumber: 1684
    functionLinenumberEnd: 1742
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - TreatHugepageTrackers
    - TimesCalled
    - PAlloc::pt::SetTagState
    - Length
    - AllocateWithSpanAllocInfo
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - absl::Minutes
    - SetExpectedName
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SetAnonVmaName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1747,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1748,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1748,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1750,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1751,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1753,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1753,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1755,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1755,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1755,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1758,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1759,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1760,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1760,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1764,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1764,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1764,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1765,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1770,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1770,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1770,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1771,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1771,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1771,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1776,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1779
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TimesCollapsed
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CollapseHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1787,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1787,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1788,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1788,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1790,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1791,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1793,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1793,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1795,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1795,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1795,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1798,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1799,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1800,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1800,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1804,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1804,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1804,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1805,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1810,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1810,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1810,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1813,1
    - Dst: test_collapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1818,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1825,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1826,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1828
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - test_collapse
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, DontCollapseHugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      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: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1833,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1833,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1835,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1836,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1838,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1838,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1840,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1840,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1840,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1843,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1844,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1845,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1845,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1849,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1849,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1849,1
    - Dst: GetHugePageTreatmentStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1853,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1855,1
    - Dst: SetLatency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1856,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1857,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1862,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1862,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1862,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1863,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1863,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1863,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1865,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1867,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1868,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1869,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1870,1
    - Dst: FakeClock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1870,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1871,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1872,1
    - Dst: FakeClock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1872,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1875
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - p::start_addr
    - FakeClock::freq
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TimesCollapsed
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - SetLatency
    - absl::ToDoubleSeconds
    - size
    - SetRange
    - ASSERT_EQ
    - absl::Microseconds
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CollapseLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1880,1
    - Dst: SetLatency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1882,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1882,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1887,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1889,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1889,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1890,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1890,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1891,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1891,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1893,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1894,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1896,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1896,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1898,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1898,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1898,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1901,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1902,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1903,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1903,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1910,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1910,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1912,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1912,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1912,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1915,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1916,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1917,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1917,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1921,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1921,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1921,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1923,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1931,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1931,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1932,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1932,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1932,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1936,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1936,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1937,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1937,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1937,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1941,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1943,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1945,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1947
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - p::start_addr
    - absl::Milliseconds
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TimesCollapsed
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - SetLatency
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::vector::empty
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, EarlyBackoff)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1961,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1962,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1962,1
    - Dst: SetLatency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1963,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1964,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1966,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1966,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1967,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1967,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1969,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1970,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1972,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1972,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1974,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1974,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1974,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1977,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1978,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1979,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1979,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1983,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1983,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1983,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1985,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1997,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:1998,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2005,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2005,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2005,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2006,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2006,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2006,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2009,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2010,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2013,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2015,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2016,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2017,1
    - Dst: FakeClock::freq
      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: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2019,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2019,1
    - Dst: FakeClock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2019,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2021,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 1951
    functionDepth: 2
    functionLinenumber: 1951
    functionLinenumberEnd: 2026
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - std::min<size_t>
    - p::start_addr
    - absl::Milliseconds
    - EXPECT_EQ
    - FakeClock::freq
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - DeleteVector
    - TimesCollapsed
    - Length
    - ASSERT_TRUE
    - SetLatency
    - std::max<size_t>
    - absl::ToDoubleSeconds
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, BackoffFromCollapse)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2030,1
    - Dst: SetSuccess
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2045,1
    - Dst: SetErrorNumber
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2047,1
    - Dst: SetErrorNumber
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2049,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2053,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2053,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2054,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2054,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2056,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2057,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2059,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2059,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2061,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2061,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2061,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2064,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2065,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2066,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2066,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2070,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2070,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2070,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2072,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2083,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2084,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2092,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2092,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2092,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2094,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2094,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2094,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2097,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2101,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2103,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2028
    functionDepth: 1
    functionLinenumber: 2028
    functionLinenumberEnd: 2108
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - SetErrorNumber
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - DeleteVector
    - TimesCollapsed
    - Length
    - ASSERT_TRUE
    - SetSuccess
    - std::max<size_t>
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - GTEST_SKIP
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, BackoffOnENoMem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2113,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2115,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2115,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2116,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2116,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2117,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2117,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2119,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2120,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2122,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2122,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2124,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2124,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2124,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2127,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2128,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2129,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2129,1
    - Dst: DeleteVector
      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: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2135,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2135,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2136,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2136,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2138,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2138,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2138,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2139,1
    - Dst: GetHugePageTreatmentStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2147,1
    - Dst: EXPECT_EQ
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2151,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2151,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2151,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2111
    functionDepth: 1
    functionLinenumber: 2111
    functionLinenumberEnd: 2155
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - ReleasePartialPages
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - DeleteVector
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - std::vector::front
    - Bitmap::SetRange
    - AllReleased
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::vector::empty
    - AllocateVector
    - unmapped_pages
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, DontCollapseReleasedPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2159,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2159,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2160,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2160,1
    - Dst: SetSuccess
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2161,1
    - Dst: SetErrorNumber
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2162,1
    - Dst: GetHugePageTreatmentStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2167,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2171,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2171,1
    - Dst: EXPECT_EQ
      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: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2177,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2178,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2180,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2180,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2182,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2182,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2182,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2185,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2186,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2187,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2187,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2190,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2190,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2190,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2191,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2196,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2196,1
    - Dst: p::start_addr
      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: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2197,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2197,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2200,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2204,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2204,1
    - Dst: SetErrorNumber
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2205,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2206,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2210,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2214,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2214,1
    - Dst: SetErrorNumber
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2215,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2216,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2220,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2224,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2224,1
    - Dst: SetErrorNumber
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2225,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2226,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2230,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2234,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2234,1
    - Dst: SetErrorNumber
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2235,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2236,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2240,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2157
    functionDepth: 3
    functionLinenumber: 2157
    functionLinenumberEnd: 2245
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - check_stats
    - SetErrorNumber
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TimesCollapsed
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - SetSuccess
    - size
    - static_cast<int>
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - absl::Minutes
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CollapseFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2251,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2251,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2252,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2252,1
    - Dst: SetSuccess
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2255,1
    - Dst: GetHugePageTreatmentStats
      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: EXPECT_EQ
      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: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2265,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2266,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2268,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2268,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2270,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2270,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2270,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2273,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2274,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2275,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2275,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2278,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2278,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2278,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2284,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2284,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2285,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2285,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2285,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2287,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2290,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2290,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2292,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2294,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2294,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2294,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2302,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2302,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2302,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2303,1
    - Dst: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2303,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2303,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2305,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2308,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2308,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2309,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2314,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2314,1
    - Dst: p::start_addr
      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: TimesCollapsed
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2315,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2315,1
    - Dst: check_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2317,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2249
    functionDepth: 3
    functionLinenumber: 2249
    functionLinenumberEnd: 2321
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - check_stats
    - p::start_addr
    - EXPECT_EQ
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TimesCollapsed
    - DeleteVector
    - Length
    - ASSERT_TRUE
    - SetSuccess
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - absl::Minutes
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    - AllocateVector
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    - GetHugePageTreatmentStats
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CollapseClock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2330,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2330,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2331,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2331,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2332,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2333,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2333,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2335,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2335,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2336,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2336,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2337,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2338,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2340,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2340,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2340,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2341,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2342,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2344,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2344,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2344,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2345,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2345,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2345,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2346,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2346,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2347,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2347,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2349,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2354,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2354,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2355,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2355,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2358,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2359,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2359,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2361,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2361,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2361,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2364,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2365,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2366,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2367
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - subrelease_stats
    - EXPECT_EQ
    - ASSERT_EQ
    - std::vector::empty
    - AllocateVector
    - DeleteVector
    - ASSERT_FALSE
    - std::vector::front
    - Length
    - unmapped_pages
    - AllReleased
    - AllocateVectorWithSpanAllocInfo
    - ASSERT_TRUE
    - ReleasePartialPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseFromFullAllocs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2375,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2376,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2378,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2379,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2380,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2381,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2381,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2383,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2383,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2384,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2385,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2385,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2387,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2387,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2390,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2390,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2390,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2392,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2393,1
    - Dst: subrelease_stats
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2397,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2398,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2398,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2402,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2402,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2402,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2403,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2403,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2404,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2404,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2407,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2408,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2409,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2409,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2411,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2412,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2414,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2414,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2416,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2416,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2420,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2420,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2421,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2423,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2423,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2424,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2424,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2424,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2426,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2426,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2427,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2427,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2427,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2430,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2431,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2435,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2435,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2438,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2438,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2439,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2439,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2443,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2444,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2447,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2447,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2449,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2449,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2450,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2450,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2450,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2455,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2455,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2458,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2373
    functionDepth: 0
    functionLinenumber: 2373
    functionLinenumberEnd: 2460
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - used_pages_in_partial_released
    - subrelease_stats
    - EXPECT_EQ
    - std::vector::empty
    - AllocateVector
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::vector::back
    - used_pages_in_released
    - ASSERT_TRUE
    - ReleasePartialPages
    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:2464,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2467,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2468,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2470,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2471,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2472,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2473,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2473,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2475,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2475,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2476,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2477,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2477,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2479,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2482,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2482,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2482,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2484,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2485,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2488,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2489,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2489,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2490,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2494,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2494,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2494,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2495,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2495,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2496,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2496,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2499,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2500,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2503,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2504,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2506,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2506,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2508,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2508,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2509,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2509,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2509,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2510,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2510,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2510,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2512,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2516,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2516,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2520,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2521,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2522,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2522,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2527,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2527,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2529,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2531
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - used_pages_in_partial_released
    - subrelease_stats
    - EXPECT_EQ
    - std::vector::empty
    - DeleteVector
    - EXPECT_TRUE
    - std::vector::front
    - Length
    - AllocateVectorWithSpanAllocInfo
    - used_pages_in_released
    - ASSERT_TRUE
    - ReleasePartialPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseFreePagesInPartialAllocs_SpansAllocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2535,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2536,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2537,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2538,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2538,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2539,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2540,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2540,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2544,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2544,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2546,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2546,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2549,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2552,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2553,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2557,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2557,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2559,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2559,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2560,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2560,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2561,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2563,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2564,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2565,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2565,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2570,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2570,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2570,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2571,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2573
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - used_pages_in_partial_released
    - ReleasePages
    - ASSERT_EQ
    - EXPECT_EQ
    - std::vector::empty
    - AllocateVector
    - EXPECT_TRUE
    - DeleteVector
    - std::vector::front
    - Length
    - AllocateVectorWithSpanAllocInfo
    - used_pages_in_released
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, AccountingForUsedPartialReleased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2580,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2580,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2581,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2581,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2582,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2583,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2583,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2585,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2585,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2586,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2586,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2587,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2588,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2588,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2590,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2590,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2590,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2591,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2592,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2594,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2594,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2595,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2595,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2596,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2596,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2596,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2597,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2597,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2599,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2601,1
    - Dst: AllReleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2601,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2603,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2607,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2608,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2608,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2609,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2609,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2609,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2609,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2609,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2611,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2612,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2614,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2614,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2615
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - ReleasePages
    - ASSERT_EQ
    - EXPECT_EQ
    - std::vector::empty
    - AllocateVector
    - DeleteVector
    - ASSERT_FALSE
    - std::vector::front
    - Length
    - unmapped_pages
    - AllReleased
    - AllocateVectorWithSpanAllocInfo
    - previously_released_huge_pages
    - NHugePages
    - ASSERT_TRUE
    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:2619,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2620,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2620,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2621,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2623
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - ReleasePages
    - Length
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2626,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2627,1
    - Dst: EmpiricalDistribution
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2631,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2637,1
    - Dst: dist
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2637,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2639,1
    - Dst: FillerTest::AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2639,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2640,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2645,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2646,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2648,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2650,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2651,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2651,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2653,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2654,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2654,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2655,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2655,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2656,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2656,1
    - Dst: FillerTest::DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2657,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2657,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2658,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2659,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2660,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2662,1
    - Dst: dist
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2662,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2663,1
    - Dst: FillerTest::AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2663,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2664,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2669,1
    - Dst: FillerTest::DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2625
    functionDepth: 5
    functionLinenumber: 2625
    functionLinenumberEnd: 2674
    functionName: FillerTest::FragmentationTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - dist
    - stats
    - EmpiricalDistribution
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - std::swap
    - Length
    - EXPECT_LE
    - std::vector::back
    - printf
    - FillerTest::DeleteVector
    - std::vector::size
    - std::vector::pop_back
    - std::vector::push_back
    - std::max
    - static_cast<double>
    - FillerTest::AllocateVector
    linkageType: ''
    returnType: void
    signature: void FillerTest::FragmentationTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FragmentationTest
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2676
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2681,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2682,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2689,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2696,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2697,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2697,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2698,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2699,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2704,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2705,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2705,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2707,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2707,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2709,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2709,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2711,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2711,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2713,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2714,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2715,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2719,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2719,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2720,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2721,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2721,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2724,1
    - Dst: testing::StartsWith
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2725,1
    - Dst: DeleteVector
      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: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2739,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2741
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - ReleasePages
    - Printer::SpaceRequired
    - std::vector::empty
    - AllocateVector
    - DeleteVector
    - std::vector::front
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - FakePageFlags::FakePageFlags
    - std::string::size
    - std::string::erase
    - GTEST_SKIP
    - EXPECT_THAT
    - Print
    - ASSERT_TRUE
    - testing::StartsWith
    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: 2743
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2743
    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:2753,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2753,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2753,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2753,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2753,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2756,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2757,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2757,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2758,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2758,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2759,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2759,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2760,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2761,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2761,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2762,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2765,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2766,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2766,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2767,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2769,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2769,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2771,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2772,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2774,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2774,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2777,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2778,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2778,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2779,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2779,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2784,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2785,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2785,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2786,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2786,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2788,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2789,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2789,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2790,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2790,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2793,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2794,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2794,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2794,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2794,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2796,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2796,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2796,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2797,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2797,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2797,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2797,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2801,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2801,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2804
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - auto::front
    - hugepage_frac
    - Eq
    - EXPECT_EQ
    - DeleteVector
    - AllocateVector
    - AnyOf
    - ASSERT_EQ
    - ReleasePages
    - Length
    - AllocateVectorWithSpanAllocInfo
    - auto::empty
    - EXPECT_THAT
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, HugePageFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2816,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2816,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2817,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2818,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2821,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2822,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2822,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2822,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2826,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2827,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2827,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2827,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2829,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2831,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2833,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2833,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2833,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2835,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2836,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2838,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2840,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2841,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2842,1
    - Dst: hugepage_frac
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2844,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2846,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2814
    functionDepth: 1
    functionLinenumber: 2814
    functionLinenumberEnd: 2849
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - LengthFromBytes
    - size
    - BytesToMiB
    - hugepage_frac
    - std::vector::end
    - std::vector::resize
    - ReleasePages
    - free_pages
    - std::vector::begin
    - Length
    - Allocate
    - used_pages
    - printf
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - absl::GetFlag
    - Delete
    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:2855,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2855,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2856,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2856,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2858,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2858,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2860,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2860,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2861,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2862,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2862,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2864,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2864,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2866,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2867,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2869,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2869,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2869,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2872,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2873,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2873,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2873,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2875,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2876,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2876,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2876,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2878,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2878,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2878,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2878,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2881,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2882,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2882,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2883,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2883,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2883,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2886,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2886,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2886,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2887,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2887,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2888,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2888,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2891,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2891,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2892,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2892,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2892,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2893,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2893,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2893,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2894,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2894,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2894,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2899,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2899,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2900,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2903,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2903,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2904,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2905,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2905,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2905,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2906,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2906,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2909,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2909,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2909,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2910,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2910,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2911
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - ReleasePartialPages
    - used_pages_in_any_subreleased
    - EXPECT_EQ
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - auto::empty
    - used_pages_in_released
    - ASSERT_TRUE
    - size
    - used_pages_in_partial_released
    - auto::front
    - ASSERT_EQ
    - used_pages
    - Delete
    - AllocateVector
    - unmapped_pages
    - AllocateWithSpanAllocInfo
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePagesFromPartialAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2915,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2915,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2916,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2916,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2918,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2918,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2918,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2920,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2920,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2920,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2921,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2922,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2922,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2924,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2924,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2925,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2925,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2927,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2928,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2930,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2930,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2930,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2933,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2933,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2934,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2937,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2937,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2937,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2939,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2940,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2940,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2940,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2944,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2945,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2945,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2949,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2949,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2949,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2949,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2950,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2950,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2950,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2951,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2951,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2951,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2954,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2955,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2955,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2956,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2957,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2957,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2960,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2961,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2964,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2964,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2965,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2965,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2966,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2966,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2966,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2967,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2967,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2976,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2976,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2976,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2978,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2978,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2978,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2979,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2980,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2980,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2980,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2981,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2981,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2982,1
    - Dst: used_pages_in_partial_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2982,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2983,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2983,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2983,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2984,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2986,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2987,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2987,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2988,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2988,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2989
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - used_pages_in_any_subreleased
    - EXPECT_EQ
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - auto::empty
    - used_pages_in_released
    - ASSERT_TRUE
    - size
    - used_pages_in_partial_released
    - auto::front
    - ASSERT_EQ
    - used_pages
    - Delete
    - ReleasePages
    - AllocateVector
    - unmapped_pages
    - AllocateWithSpanAllocInfo
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseAccounting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2993,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2994,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2994,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2996,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2996,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2998,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:2998,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3000,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3001,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3001,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3001,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3004,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3004,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3005,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3005,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3006,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3006,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3006,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3009,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3011,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3011,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3012,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3013,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3013,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3013,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3017,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3017,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3018,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3018,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3018,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3019,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3019,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3020,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3020,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3020,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3023,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3023,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3024,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3024,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3024,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3025,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3025,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3025,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3026,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3026,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3026,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3027,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3027,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3027,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3030,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3031,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3032,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3033,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3033,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3033,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3034,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3034,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3034,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3035,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3035,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 2991
    functionDepth: 0
    functionLinenumber: 2991
    functionLinenumberEnd: 3036
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - size
    - auto::front
    - EXPECT_EQ
    - ASSERT_EQ
    - ReleasePages
    - DeleteVector
    - AllocateVector
    - unmapped_pages
    - Length
    - AllocateVectorWithSpanAllocInfo
    - auto::empty
    - previously_released_huge_pages
    - NHugePages
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleaseWithReuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3039,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3041,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3042,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3042,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3044,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3044,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3046,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3046,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3048,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3049,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3049,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3049,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3052,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3052,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3053,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3053,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3053,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3058,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3058,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3059,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3061,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3061,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3061,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3062,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3062,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3068,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3068,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3069,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3069,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3070,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3070,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3070,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3071,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3071,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3071,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3072,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3075,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3075,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3076,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3079,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3079,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3079,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3080,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3081,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3086,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3087,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3088,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3089,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3089,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3089,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3090,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3093,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3093,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3094,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3096,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3096,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3096,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3097,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3038
    functionDepth: 1
    functionLinenumber: 3038
    functionLinenumberEnd: 3101
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - auto::empty
    - std::string::resize
    - previously_released_huge_pages
    - EXPECT_THAT
    - ASSERT_TRUE
    - size
    - auto::front
    - ASSERT_EQ
    - FakePageFlags::FakePageFlags
    - std::string::size
    - ReleasePages
    - AllocateVector
    - std::string::c_str
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckPreviouslyReleasedStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3106,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3108,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3109,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3109,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3110,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3110,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3113,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3114,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3114,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3114,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3119,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3119,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3120,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3122,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3122,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3122,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3123,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3124,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3130,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3131,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3131,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3132,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3132,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3132,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3133,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3136,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3136,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3137,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3140,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3140,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3141,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3142,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3148,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3149,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3149,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3149,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3151,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3154,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3154,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3155,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3157,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3157,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3158,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3160,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3166,1
    - Dst: previously_released_huge_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3166,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3167,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3170,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3170,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3171,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3173,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3173,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3174,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3105
    functionDepth: 1
    functionLinenumber: 3105
    functionLinenumberEnd: 3178
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::resize
    - std::string::begin
    - auto::empty
    - previously_released_huge_pages
    - EXPECT_THAT
    - ASSERT_TRUE
    - size
    - auto::front
    - ASSERT_EQ
    - FakePageFlags::FakePageFlags
    - std::string::size
    - ReleasePages
    - AllocateVector
    - std::string::c_str
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckFullReleasedFullReleasedState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3184,1
    - Dst: AllocateVector
      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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3187,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3187,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3188,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3180
    functionDepth: 0
    functionLinenumber: 3180
    functionLinenumberEnd: 3193
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - ReleasePages
    - ASSERT_EQ
    - DeleteVector
    - AllocateVector
    - EXPECT_LE
    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:3203,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3203,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3204,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3204,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3205,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3205,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3215,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3215,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3215,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3217,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3218,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3218,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3223,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3223,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3229
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - DeleteVector
    - AllocateVector
    - EXPECT_TRUE
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::vector::push_back
    - ASSERT_GE
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, StronglyPreferNonDonated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3234,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3235,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3238,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3254,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3255,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3258,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3259,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3261,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3262,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3263,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3268,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3269,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3270,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3270,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3271,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3272,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3273,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3274,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3275,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3275,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3275,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3278,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3278,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3279,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3281,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3283,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3284,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3286,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3287,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3289,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3290,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3291,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3292,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3296,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3296,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3296,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3297,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3297,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3298,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3298,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3300,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3300,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3301,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3307,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3308,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3308,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3308,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3308,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3309,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3313,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3313,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3319,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3320,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3321,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3321,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3321,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3322,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3323,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3324,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3328,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3328,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3334,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3335,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3336,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3337,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3341,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3341,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3345,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3346,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3346,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3346,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3346,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3350,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3350,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3355,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3356,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3356,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3356,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3356,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3357,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3358,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3362,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3362,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3367,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3368,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3368,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3368,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3368,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3369,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3370,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3373,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3373,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3378,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3379,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3379,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3379,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3379,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3380,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3384,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3384,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3389,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3390,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3390,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3390,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3390,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3391,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3395,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3395,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3401,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3402,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3403,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3403,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3403,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3404,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3409,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3410,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3410,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3410,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3411,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3412,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3413,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3417,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3417,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3420,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3420,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3421,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3426,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3426,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3427,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3429,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3429,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3429,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3431,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3231
    functionDepth: 3
    functionLinenumber: 3231
    functionLinenumberEnd: 3435
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - FakeClock::Advance
    - free_pages
    - SCOPED_TRACE
    - Allocate
    - Print
    - ReleasePartialPages
    - strlen
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Length
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - FakePageFlags::FakePageFlags
    - used_pages
    - GTEST_SKIP
    - absl::Minutes
    - std::string::size
    - Delete
    - std::string::c_str
    - unmapped_pages
    - AllocateWithSpanAllocInfo
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipPartialAllocSubrelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3440,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3441,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3444,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3447,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3462,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3463,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3463,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3465,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3465,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3466,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3468,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3469,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3471,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3472,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3472,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3474,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3474,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3476,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3476,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3482,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3483,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3483,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3485,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3485,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3486,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3486,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3487,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3488,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3489,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3491,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3491,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3491,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3493,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3493,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3494,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3496,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3497,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3497,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3500,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3501,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3501,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3503,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3503,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3506,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3507,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3507,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3509,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3509,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3511,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3512,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3513,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3514,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3515,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3516,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3519,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3519,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3519,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3520,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3520,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3520,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3521,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3521,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3523,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3523,1
    - Dst: ReleasePartialPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3523,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3529,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3530,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3530,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3530,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3530,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3531,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3535,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3535,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3541,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3542,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3543,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3543,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3543,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3544,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3545,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3546,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3550,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3550,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3556,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3557,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3557,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3557,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3557,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3558,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3559,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3563,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3563,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3567,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3568,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3568,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3568,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3568,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3572,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3572,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3577,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3578,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3578,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3578,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3578,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3579,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3580,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3584,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3584,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3589,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3590,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3590,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3590,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3590,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3591,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3592,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3595,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3595,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3600,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3601,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3601,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3601,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3601,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3602,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3606,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3606,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3611,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3612,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3612,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3612,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3612,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3613,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3617,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3617,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3623,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3624,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3625,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3625,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3625,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3626,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3631,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3632,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3632,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3632,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3633,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3634,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3635,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3639,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3639,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3642,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3642,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3643,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3648,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3648,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3649,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3651,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3651,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3651,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3653,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3437
    functionDepth: 3
    functionLinenumber: 3437
    functionLinenumberEnd: 3657
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - FakeClock::Advance
    - free_pages
    - SCOPED_TRACE
    - Allocate
    - Print
    - ReleasePartialPages
    - strlen
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - ASSERT_TRUE
    - raw_num
    - std::vector::front
    - FakePageFlags::FakePageFlags
    - used_pages
    - GTEST_SKIP
    - absl::Minutes
    - std::string::size
    - Delete
    - std::vector::empty
    - std::string::c_str
    - unmapped_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipPartialAllocSubrelease_SpansAllocated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3662,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3663,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3666,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3682,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3683,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3684,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3686,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3687,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3689,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3690,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3691,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3696,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3697,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3698,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3698,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3699,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3700,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3701,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3702,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3703,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3703,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3703,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3705,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3705,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3706,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3708,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3710,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3711,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3713,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3714,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3716,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3717,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3718,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3719,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3720,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3723,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3723,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3724,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3724,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3725,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3725,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3725,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3726,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3726,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3726,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3732,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3733,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3733,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3733,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3733,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3734,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3738,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3738,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3744,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3745,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3746,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3746,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3746,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3747,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3748,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3749,1
    - Dst: FakeClock::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: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3759,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3760,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3760,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3760,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3760,1
    - Dst: absl::Minutes
      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: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3766,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3766,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3770,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3771,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3771,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3771,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3771,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3775,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3775,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3780,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3781,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3782,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3783,1
    - Dst: FakeClock::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: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3792,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3793,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3793,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3793,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3793,1
    - Dst: absl::Minutes
      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: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3798,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3798,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3803,1
    - Dst: demand_pattern
      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: absl::Minutes
      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: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3805,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3809,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3809,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3814,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3815,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3815,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3815,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3815,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3816,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3820,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3820,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3826,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3827,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3828,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3828,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3828,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3829,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3834,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3835,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3835,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3835,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3836,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3837,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3838,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3842,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3842,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3845,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3845,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3846,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3851,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3851,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3852,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3854,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3854,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3854,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3856,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3860
      start: 3659
    functionDepth: 3
    functionLinenumber: 3659
    functionLinenumberEnd: 3860
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - FakeClock::Advance
    - free_pages
    - SCOPED_TRACE
    - Allocate
    - Print
    - strlen
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Length
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - FakePageFlags::FakePageFlags
    - used_pages
    - GTEST_SKIP
    - absl::Minutes
    - std::string::size
    - Delete
    - ReleasePages
    - std::string::c_str
    - unmapped_pages
    - AllocateWithSpanAllocInfo
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipSubrelease)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3865,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3866,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3869,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3870,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: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3891,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: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3896,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3897,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3897,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3899,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3899,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3901,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3901,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3907,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3908,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3908,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3910,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3911,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3911,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3912,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3913,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3914,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3916,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3916,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3918,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3918,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3919,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3921,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3924,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3925,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3925,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3927,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3927,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3930,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3931,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3931,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3933,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3933,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3935,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3936,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3937,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3938,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3939,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3942,1
    - Dst: used_pages
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3943,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3943,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3943,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3944,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3944,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3944,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3945,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3945,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3945,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3951,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3952,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3953,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3957,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3957,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3963,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3964,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3965,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3965,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3965,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3966,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3967,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3968,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3972,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3972,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3978,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3979,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3980,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3981,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3985,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3985,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3989,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3990,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3990,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3994,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3994,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:3999,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4000,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4000,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4000,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4000,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4001,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4002,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4006,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4006,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4011,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4012,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4012,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4012,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4012,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4013,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4014,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4017,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4017,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4022,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4023,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4023,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4023,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4023,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4024,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4028,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4028,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4033,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4034,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4034,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4034,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4034,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4035,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4039,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4039,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4045,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4046,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4047,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4047,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4047,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4048,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4053,1
    - Dst: demand_pattern
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4054,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4054,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4054,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4055,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4056,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4057,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4061,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4061,1
    - Dst: Allocate
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4065,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4070,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4070,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4071,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4073,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4073,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4073,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4075,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4079
      start: 3862
    functionDepth: 3
    functionLinenumber: 3862
    functionLinenumberEnd: 4079
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - demand_pattern
    - FakeClock::Advance
    - free_pages
    - SCOPED_TRACE
    - Allocate
    - Print
    - strlen
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - ASSERT_TRUE
    - raw_num
    - std::vector::front
    - FakePageFlags::FakePageFlags
    - used_pages
    - GTEST_SKIP
    - absl::Minutes
    - std::string::size
    - Delete
    - ReleasePages
    - std::vector::empty
    - std::string::c_str
    - unmapped_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:4084,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4084,1
    - Dst: PAlloc::pt::SetTagState
      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: PAlloc::pt::features
      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: PAlloc::pt::features
      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: PAlloc::pt::features
      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: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4089,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4089,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4090,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4090,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4091,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4091,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4092,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4092,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4094,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4094,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4096,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4096,1
    - Dst: FakeClock::now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4097,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4099,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4100,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4100,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4101,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4101,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4102,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4102,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4103,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4103,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4104,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4105,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4105,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4107,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4107,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4109,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4111,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4112,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4112,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4113,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4115,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4115,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4116,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4116,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4117,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4118,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4118,1
    - Dst: FakeClock::now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4118,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4123,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4123,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4124,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4125,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4126,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4127,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4127,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4128,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4129,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4129,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4130,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4133,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4133,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4135,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4135,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4137,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4137,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: FakeClock::now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4140,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4141,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4141,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4142,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4142,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4145,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4147,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4147,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4147,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4148,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4148,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4149,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4150,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4150,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4152,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4152,1
    - Dst: AllocateWithSpanAllocInfo
      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: PAlloc::pt::features
      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: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4156,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4157,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4159,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4159,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4160,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4161,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4161,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4162,1
    - Dst: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4162,1
    - Dst: FakeClock::now
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4162,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4164,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4165,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4168,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4173
      start: 4081
    functionDepth: 3
    functionLinenumber: 4081
    functionLinenumberEnd: 4173
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - PAlloc::pt::features
    - FakeClock::Advance
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - FakeClock::now
    - PAlloc::pt::last_page_allocation_time
    - PAlloc::pt::SetTagState
    - Length
    - AllocateWithSpanAllocInfo
    - EXPECT_FLOAT_EQ
    - AllocateVectorWithSpanAllocInfo
    - EXPECT_NE
    - Delete
    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:4176,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4180,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4181,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4185,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4185,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4186,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4188,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4188,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4189,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4189,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4193,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4193,1
    - Dst: AllocateWithSpanAllocInfo
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4197,1
    - Dst: PAlloc::pt::features
      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: PAlloc::pt::last_page_allocation_time
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4198,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4199,1
    - Dst: FakeClock::freq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4199,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4200,1
    - Dst: PAlloc::pt::features
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4200,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4203,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4203,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4204,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4206,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4206,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4206,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4207,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4207,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4212,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4212,1
    - Dst: PAlloc::pt::SetTagState
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4213,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4214,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4214,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4217,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4218,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4220,1
    - Dst: PAlloc::pt::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4220,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4223,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4223,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4228,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4228,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4232,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4232,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4234,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4237,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4237,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4238,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4240,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4240,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4240,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4243,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4247,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4248,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4249,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4255
      start: 4175
    functionDepth: 3
    functionLinenumber: 4175
    functionLinenumberEnd: 4255
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - PAlloc::pt::features
    - PAlloc::pt::last_page_allocation_time
    - PAlloc::pt::location
    - Print
    - strlen
    - FakeClock::freq
    - EXPECT_EQ
    - testing::HasSubstr
    - PAlloc::pt::SetTagState
    - Length
    - std::string::resize
    - std::string::begin
    - AllocateVectorWithSpanAllocInfo
    - EXPECT_THAT
    - static_cast<uint64_t>
    - FakePageFlags::FakePageFlags
    - FakePageFlags::MarkHugePageBacked
    - std::string::size
    - Delete
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::string::c_str
    - AllocateWithSpanAllocInfo
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, PrintFeatureVectorTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4260,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4261,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4264,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4267,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4269,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4274,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4274,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4275,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4277,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4277,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4277,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4278,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4278,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4298,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4318,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4318,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4338,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4338,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4358,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4358,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4378,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4378,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4398,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4398,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4418,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4418,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4421,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4421,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4422,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4425,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4425,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4431,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4431,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4438,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4438,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4449,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4451
      start: 4257
    functionDepth: 3
    functionLinenumber: 4257
    functionLinenumberEnd: 4451
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - strlen
    - FakeClock::Advance
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::HasSubstr
    - std::string::c_str
    - Length
    - AllocateWithSpanAllocInfo
    - std::string::begin
    - FakePageFlags::FakePageFlags
    - std::string::resize
    - EXPECT_THAT
    - GTEST_SKIP
    - Print
    - std::string::size
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, LiveLifetimeTelemetryTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4456,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4457,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4460,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4463,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4465,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4467,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4467,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4468,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4469,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4469,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4470,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4474,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4474,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4475,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4477,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4486
      start: 4453
    functionDepth: 3
    functionLinenumber: 4453
    functionLinenumberEnd: 4486
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - testing::HasSubstr
    - Length
    - AllocateWithSpanAllocInfo
    - std::string::begin
    - FakePageFlags::FakePageFlags
    - EXPECT_THAT
    - GTEST_SKIP
    - Print
    - std::string::size
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CompletedLifetimeTelemetryTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4500,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4501,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4501,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4502,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4503,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4505,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4505,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4507,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4507,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4508,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4508,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4509,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4509,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4512,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4514,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4515,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4515,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4516,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4516,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4517,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4524,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4524,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4525,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4526,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4527,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4528,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4529,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4530,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4532
      start: 4488
    functionDepth: 3
    functionLinenumber: 4488
    functionLinenumberEnd: 4532
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - EXPECT_EQ
    - ReleasePages
    - std::vector::empty
    - AllocateVector
    - DeleteVector
    - free_pages
    - std::vector::front
    - Length
    - AllocateVectorWithSpanAllocInfo
    - used_pages
    - absl::Minutes
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, SkipSubreleaseDemandPeak)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4543,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4544,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4547,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4550,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4550,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4553,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4558,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4559,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4560,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4561,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4562,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4563,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4563,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4564,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4565,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4566,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4567,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4568,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4568,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4575,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4575,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4576,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4578,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4578,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4579,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4582,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4582,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4583,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4583,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4585,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4586,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4586,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4587,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4587,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4587,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4588,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4589,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4590,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4591,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4592,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4592,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4592,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4593,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4593,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4593,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4594,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4594,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4599,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4600,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4601,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4601,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4603,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4603,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4608,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4609,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4610,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4611,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4612,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4612,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4613,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4614,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4615,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4616,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4618,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4618,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4619,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4620,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4621,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4621,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4622,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4623,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4624,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4626,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4626,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4627,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4627,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4628,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4629,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4629,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4630,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4630,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4630,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4631,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4631,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4631,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4632,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4632,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4632,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4635,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4638,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4638,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4639,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4641,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4641,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4641,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4643,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4647
      start: 4534
    functionDepth: 3
    functionLinenumber: 4534
    functionLinenumberEnd: 4647
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - free_pages
    - SCOPED_TRACE
    - Print
    - strlen
    - absl::StrCat
    - EXPECT_EQ
    - testing::HasSubstr
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - raw_num
    - absl::Bernoulli
    - FakePageFlags::FakePageFlags
    - used_pages
    - GTEST_SKIP
    - absl::Minutes
    - std::string::size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - std::string::c_str
    - unmapped_pages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReportSkipSubreleases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4651,1
    - Dst: FillerTest::AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4653,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4653,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4654,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4654,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4654,1
    - Dst: FillerTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4655,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4657,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4657,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4657,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4662,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4664,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4664,1
    - Dst: FillerTest::AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4665,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4666,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4667,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4667,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4667,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4667,1
    - Dst: FillerTest::AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4668,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4668,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4670,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4670,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4670,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4670,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4674,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4674,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4675,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4675,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4675,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4676,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4677,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4677,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4678,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4678,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4679,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4679,1
    - Dst: FillerTest::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4680,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4680,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4681,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4681,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4681,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4685,1
    - Dst: FillerTest::AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4686,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4687,1
    - Dst: FillerTest::AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4688,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4688,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4692,1
    - Dst: FillerTest::AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4692,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4695
      start: 4649
    functionDepth: 4
    functionLinenumber: 4649
    functionLinenumberEnd: 4695
    functionName: FillerTest::GenerateInterestingAllocs
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - FillerTest::ReleasePages
    - EXPECT_EQ
    - std::vector::end
    - std::vector::insert
    - EXPECT_TRUE
    - FillerTest::AllocateVectorWithSpanAllocInfo
    - Length
    - std::vector::begin
    - FillerTest::AllocateWithSpanAllocInfo
    - FillerTest::Delete
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<FillerTest::PAlloc>
    signature: std::vector<FillerTest::PAlloc> FillerTest::GenerateInterestingAllocs()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4701,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4704,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4706,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4706,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4707,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4710,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4710,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4713,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4713,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4714,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4719,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4719,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4719,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4720,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4720,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4720,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4720,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4723,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4723,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4723,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4724,1
    - Dst: HardReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4724,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4724,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4724,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4727,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4727,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4729,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4730,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4731,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4731,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4733,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4733,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4734,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4734,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4735,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4735,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4736,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4736,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4738,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4738,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4739,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4739,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4740,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4741,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4741,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4746,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4746,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4746,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4748,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4750,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4751,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4751,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4752,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4752,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4753,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4755,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4755,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4756,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4757,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4758,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4758,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4760,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4760,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4761,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4762,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4762,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4766,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4766,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4766,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4767,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4767,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4767,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4768,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4768,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4768,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4771,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4771,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4771,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4771,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4772,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4772,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4772,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4772,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4773,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4773,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4773,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4773,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4778,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4779,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4780,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4781,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4782,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4782,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4783,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4783,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4784,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4784,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4787,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4787,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4790,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4790,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4790,1
    - Dst: subrelease_stats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4792,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4794,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4794,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4795,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4795,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4796,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4797,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4797,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4798,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4799,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4800,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4802,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4802,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4803,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4803,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4804,1
    - Dst: SubreleaseStats::total_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4804,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4805,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4805,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4806,1
    - Dst: SubreleaseStats::num_hugepages_broken::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4806,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4807,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4808,1
    - Dst: SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4808,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4812,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4815,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4815,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4816,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4817,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4817,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4821,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4822,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4827,1
    - Dst: testing::EndsWith
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4829,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4833,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4834,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4839,1
    - Dst: testing::EndsWith
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4841,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4847,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4849
      start: 4699
    functionDepth: 3
    functionLinenumber: 4699
    functionLinenumberEnd: 4849
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - subrelease_stats
    - SubreleaseStats::total_hugepages_broken::raw_num
    - SCOPED_TRACE
    - Print
    - HardReleasePages
    - absl::StrCat
    - EXPECT_EQ
    - testing::HasSubstr
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - SubreleaseStats::num_hugepages_broken::raw_num
    - absl::Uniform<size_t>
    - std::string::erase
    - std::vector::push_back
    - SubreleaseStats::total_hugepages_broken_due_to_limit::raw_num
    - ASSERT_THAT
    - absl::Bernoulli
    - testing::EndsWith
    - FakePageFlags::FakePageFlags
    - absl::Minutes
    - std::string::size
    - ReleasePages
    - Printer::SpaceRequired
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckSubreleaseStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4853,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4853,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4857,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4857,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4859,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4859,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4861,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4861,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4865,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4865,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4865,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4866,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4866,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4866,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4867,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4869,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4869,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4870,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4870,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4870,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4870,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4871,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4872,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4872,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4872,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4872,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4874,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4874,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4878,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4880,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4880,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4881,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4881,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4881,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4882,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4883,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4883,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4886,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4889,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4889,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4890,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4891,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4891,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4894,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4894,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4894,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4894,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4898,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4898,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4898,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4899,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4902,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4903,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4903,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4904,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4904,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4905,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4909,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4917
      start: 4851
    functionDepth: 1
    functionLinenumber: 4851
    functionLinenumberEnd: 4917
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - Allocate
    - std::vector::reserve
    - Print
    - std::vector::swap
    - absl::StrCat
    - testing::HasSubstr
    - Length
    - HugeLength::raw_num
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - absl::Uniform<size_t>
    - std::string::erase
    - std::vector::push_back
    - raw_num
    - size
    - std::vector::end
    - ASSERT_EQ
    - ASSERT_THAT
    - FakePageFlags::FakePageFlags
    - std::vector::back
    - std::string::size
    - Delete
    - ReleasePages
    - Printer::SpaceRequired
    - NHugePages
    - 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:4923,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4924,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4927,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4927,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4928,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4929,1
    - Dst: FakeClock::Advance
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4930,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4933,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4936,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4936,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4937,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4941,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4946,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4948
      start: 4921
    functionDepth: 3
    functionLinenumber: 4921
    functionLinenumberEnd: 4948
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - FakeClock::Advance
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Printer::SpaceRequired
    - DeleteVector
    - AllocateVector
    - Length
    - EXPECT_LE
    - std::string::begin
    - FakePageFlags::FakePageFlags
    - PrintInPbtxt
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckBufferSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4954,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4954,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4960,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4960,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4962,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4962,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4965,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4965,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4968,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4968,1
    - Dst: AllocateVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4970,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4971,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4971,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4972,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4974,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4974,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4975,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4978,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4978,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4981,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4986,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4989,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4989,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4990,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4990,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4997,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4998,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4998,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:4999,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5000,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5005,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5009,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5010,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5017,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5020,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5021,1
    - Dst: auto::raw_num
      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: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5022,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5023,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5023,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5028,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5028,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5028,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5029,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5030,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5030,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5033,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5033,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5034,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5044,1
    - Dst: released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5044,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5048,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5050
      start: 4950
    functionDepth: 0
    functionLinenumber: 4950
    functionLinenumberEnd: 5050
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - free_pages
    - absl::StrJoin
    - std::vector::reserve
    - absl::StrCat
    - DeleteVector
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugeLength::raw_num
    - Length
    - AllocateVectorWithSpanAllocInfo
    - absl::Uniform<size_t>
    - std::vector::push_back
    - ASSERT_TRUE
    - push_back
    - ASSERT_LE
    - auto::raw_num
    - raw_num
    - Length::raw_num
    - size
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::reserve
    - ASSERT_EQ
    - std::vector::front
    - used_pages
    - absl::LogUniform<size_t>
    - ReleasePages
    - std::vector::empty
    - AllocateVector
    - NHugePages
    - released
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVector
      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: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5055,1
    - Dst: auto::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5055,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5056,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5056,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5056,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5058,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5060,1
    - Dst: HardReleasePages
      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: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5064,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5064,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5064,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5065,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5065,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5065,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5070,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5081
      start: 5052
    functionDepth: 0
    functionLinenumber: 5052
    functionLinenumberEnd: 5081
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - size
    - HardReleasePages
    - auto::front
    - EXPECT_EQ
    - DeleteVector
    - AllocateVector
    - Length
    - AllocateWithSpanAllocInfo
    - auto::empty
    - NHugePages
    - ASSERT_TRUE
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, b258965495)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5084,1
    - Dst: GenerateInterestingAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5093,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5095,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5097,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5097,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5100,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5100,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5102,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5102,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5103,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5104,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5105,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5107,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5110,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5110,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5112,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5113,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5115,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5116,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5116,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5117,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5120,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5120,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5123,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5124,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5126,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5129,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5131,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5133,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5134,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5139
      start: 5083
    functionDepth: 0
    functionLinenumber: 5083
    functionLinenumberEnd: 5139
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - EXPECT_GE
    - EXPECT_EQ
    - Length
    - GetStats
    - GenerateInterestingAllocs
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckFillerStats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5142,1
    - Dst: GenerateInterestingAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5151,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5153,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5155,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5158,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5160,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5161,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5162,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5163,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5163,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5164,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5165,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5165,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5168,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5170,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5170,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5171,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5173,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5173,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5174,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5175,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5178,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5181,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5184,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5184,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5187,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5187,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5189,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5191,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5192,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5141
    functionDepth: 0
    functionLinenumber: 5141
    functionLinenumberEnd: 5197
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - EXPECT_GE
    - EXPECT_EQ
    - Length
    - GetStats
    - GenerateInterestingAllocs
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CheckFillerStats_SpansAllocated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5200,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5209,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5210,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5211,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5212,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5213,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5213,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5214,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5214,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5216,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5217,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5219,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5221,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5221,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5221,1
    - Dst: Bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5224,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5225,1
    - Dst: FakeResidency::SetUnbackedAndSwappedBitmaps
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5226,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5226,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5231,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5233,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5233,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5233,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5236,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5236,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5236,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5242,1
    - Dst: TriedCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5242,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5242,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5248,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5248,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5249,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5251,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5251,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5251,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5252,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5252,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5262,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5272,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5272,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5282,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5292,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5296,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5296,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5299,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5302,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5302,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5306,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5306,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5309,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5309,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5313,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5313,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5316,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5316,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5321,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5321,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5325,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5327,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5327,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5329,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5333,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5335,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5337,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5338,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5340,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5341,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5343,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5344,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5345,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5346,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5347,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5348,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5349,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5350,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5351,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5351,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5352,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5352,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5353,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5353,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5354,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5354,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5355,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5355,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5356,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5358
      start: 5199
    functionDepth: 1
    functionLinenumber: 5199
    functionLinenumberEnd: 5358
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - p::start_addr
    - strlen
    - TreatHugepageTrackers
    - EXPECT_FALSE
    - EXPECT_TRUE
    - testing::HasSubstr
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - std::string::erase
    - ASSERT_TRUE
    - size
    - SetRange
    - ASSERT_EQ
    - TriedCollapse
    - Bitmap::SetRange
    - FakePageFlags::FakePageFlags
    - FakeResidency::FakeResidency
    - FakePageFlags::MarkHugePageBacked
    - PrintInPbtxt
    - FakeResidency::SetUnbackedAndSwappedBitmaps
    - std::string::size
    - Printer::SpaceRequired
    - std::vector::empty
    - std::string::c_str
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ResidencyTelemetry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5364,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5365,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5367,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5368,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5369,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5370,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5370,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5371,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5371,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5372,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5372,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5373,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5373,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5373,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5375,1
    - Dst: FakePageFlags::MarkHugePageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5377,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5377,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5379,1
    - Dst: FakePageFlags::IsHugepageBacked
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5379,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5379,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5385,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5385,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5386,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5387,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5387,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5389,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5389,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5392,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5392,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5395,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5395,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5398,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5398,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5401,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5401,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5404,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5404,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5407,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5407,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5410,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5411,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5360
    functionDepth: 1
    functionLinenumber: 5360
    functionLinenumberEnd: 5413
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - Print
    - p::start_addr
    - testing::HasSubstr
    - DeleteVector
    - EXPECT_TRUE
    - Length
    - AllocateVectorWithSpanAllocInfo
    - std::string::begin
    - EXPECT_THAT
    - std::string::erase
    - ASSERT_TRUE
    - size
    - ASSERT_EQ
    - FakePageFlags::FakePageFlags
    - FakePageFlags::MarkHugePageBacked
    - std::string::size
    - Printer::SpaceRequired
    - std::vector::empty
    - FakePageFlags::IsHugepageBacked
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, PrintHugepageBackedStats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5418,1
    - Dst: GenerateInterestingAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5427,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5430,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5433,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5433,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5434,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5435,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5435,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5438,1
    - Dst: StrEq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:5440,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6061,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6063,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6063,1
    - Dst: ForEachHugePage
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6068,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6071,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6073,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6073,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6077,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6077,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6080,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6081,1
    - Dst: Eq
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6081,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6084,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6086
      start: 5417
    functionDepth: 1
    functionLinenumber: 5417
    functionLinenumberEnd: 6086
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - capacity
    - Print
    - EXPECT_FALSE
    - Length
    - std::string::begin
    - EXPECT_THAT
    - contains
    - std::string::erase
    - insert
    - GenerateInterestingAllocs
    - reserve
    - absl::flat_hash_set::size
    - size
    - absl::flat_hash_set::insert
    - Eq
    - ForEachHugePage
    - FakePageFlags::FakePageFlags
    - std::string::size
    - Delete
    - TC_CHECK
    - Printer::SpaceRequired
    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:6097,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6099,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6100,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6100,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6101,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6101,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6104,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6105,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6106,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6106,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6107,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6108,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6109,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6111,1
    - Dst: AllocateWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6112,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6113,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6114,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6115,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6118,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6118,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6119,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6119,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6119,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6122,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6124,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6124,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6127,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6129,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6130,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6131,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6131,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6132
      start: 6091
    functionDepth: 0
    functionLinenumber: 6091
    functionLinenumberEnd: 6132
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - pages_allocated
    - EXPECT_GE
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - absl::Bernoulli
    - Length
    - EXPECT_LE
    - AllocateWithSpanAllocInfo
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - HugeLength::in_pages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, GetsAndPuts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6141,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6143,1
    - Dst: auto::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6143,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6144,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6147,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6149,1
    - Dst: auto::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6151,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6151,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6151,1
    - Dst: front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6153,1
    - Dst: released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6155,1
    - Dst: get_released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6155,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6156,1
    - Dst: get_released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6156,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6157,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6157,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6158,1
    - Dst: get_released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6159,1
    - Dst: get_released_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6159,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6160,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6162
      start: 6136
    functionDepth: 0
    functionLinenumber: 6136
    functionLinenumberEnd: 6162
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - auto::size
    - front
    - auto::front
    - EXPECT_EQ
    - ASSERT_EQ
    - ReleasePages
    - released_pages
    - get_released_pages
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePrioritySparseAndDenseAllocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6171,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6171,1
    - Dst: absl::GetFlag
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6172,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6175,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6176,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6176,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6178,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6178,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6178,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6181,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6182,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6182,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6182,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6184,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6184,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6184,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6185,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6186,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6188,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6190,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6191,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6194,1
    - Dst: pages_allocated
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6195,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6197,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6198,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6198,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6201
      start: 6168
    functionDepth: 0
    functionLinenumber: 6168
    functionLinenumberEnd: 6201
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - LengthFromBytes
    - std::vector::begin
    - Allocate
    - std::vector::pop_back
    - pages_allocated
    - EXPECT_EQ
    - Length
    - std::vector::resize
    - std::vector::push_back
    - absl::GetFlag
    - size
    - std::vector::end
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - Delete
    - ReleasePages
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, BoundedVSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6209,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6213,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6217,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6217,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6217,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6223,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6226,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6229,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6231
      start: 6206
    functionDepth: 0
    functionLinenumber: 6206
    functionLinenumberEnd: 6231
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleasePages
    - EXPECT_EQ
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, CounterUnderflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6244,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6246,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6249,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6251,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6251,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6257,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6259,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6261,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6261,1
    - Dst: DeleteRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6265,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6265,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6265,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6265,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6266,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6266,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6266,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6266,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6271,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6271,1
    - Dst: DeleteRange
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6275,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6275,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6275,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6275,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6276,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6276,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6276,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6282,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6282,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6283,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6283,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6283,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6288
      start: 6238
    functionDepth: 0
    functionLinenumber: 6238
    functionLinenumberEnd: 6288
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - Length::raw_num
    - DeleteRange
    - EXPECT_EQ
    - std::vector::end
    - std::vector::insert
    - begin
    - ReleasePages
    - free_pages
    - DeleteVector
    - Length
    - AllocateVectorWithSpanAllocInfo
    - end
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(FillerTest, ReleasePagesFromDenseAlloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6296,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6299,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6303,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6304,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6304,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6304,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6304,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6305,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6307,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6307,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6307,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6308,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6312,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6313,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6317,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6317,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6321,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6323,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6323,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6323,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6324,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6331,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6334,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6335,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6335,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6335,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6335,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6336,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6338,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6338,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6338,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6339,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6343,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6349,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6349,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6350,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6350,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6350,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6353,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6356
      start: 6290
    functionDepth: 0
    functionLinenumber: 6290
    functionLinenumberEnd: 6356
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - EXPECT_EQ
    - std::vector::end
    - std::vector::insert
    - DeleteVector
    - ReleasePages
    - free_pages
    - std::vector::begin
    - Length
    - AllocateVectorWithSpanAllocInfo
    - Delete
    - 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:6361,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6362,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6362,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6364,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6366,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6369,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6369,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6370,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6371,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6371,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6372,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6372,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6373,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6373,1
    - Dst: AllocateVectorWithSpanAllocInfo
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6378,1
    - Dst: std::vector::front
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6382,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6382,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6382,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6383,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6383,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6384,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6384,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6385,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6386,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6386,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6388,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6392,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6393,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6393,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6394,1
    - Dst: used_pages_in_released
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6394,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6395,1
    - Dst: used_pages_in_any_subreleased
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6395,1
    - Dst: DeleteVector
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6398
      start: 6358
    functionDepth: 0
    functionLinenumber: 6358
    functionLinenumberEnd: 6398
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    functionUses: 0
    functionsReached:
    - size
    - ReleasePages
    - EXPECT_EQ
    - std::vector::empty
    - AllocateVector
    - free_pages
    - DeleteVector
    - std::vector::front
    - Length
    - AllocateVectorWithSpanAllocInfo
    - used_pages
    - NHugePages
    - used_pages_in_released
    - ASSERT_TRUE
    - used_pages_in_any_subreleased
    - EXPECT_NE
    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:6405,1
    - Dst: SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc:6405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6406
      start: 6402
    functionDepth: 0
    functionLinenumber: 6402
    functionLinenumberEnd: 6406
    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:
    - back
    - push_back
    - std::make_unique<AlignedPtr>
    - ::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:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    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:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    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:156,1
    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::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:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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:162,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:163,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:164,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:164,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:165,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    - absl::MakeSpan
    - InsertRange
    - std::vector::resize
    - std::min
    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:173,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:175,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:175,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:177,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:178,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    - ASSERT_GT
    - absl::MakeSpan
    - RemoveRange
    - std::vector::resize
    - std::min
    - ASSERT_LE
    - static_cast<size_t>
    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:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 184
    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:186,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    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:193,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:195,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:197,1
    - Dst: HasSpareCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:199,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:201,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:201,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:203,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:203,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:205,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:207,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    - HasSpareCapacity
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    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: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    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:242,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:242,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:244,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:244,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:246,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    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: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    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: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    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:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    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:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    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:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 279
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 282
    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:293,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    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:299,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    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:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    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:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    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:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 335
    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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    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:340,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:343,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:344,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:346,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:346,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:347,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:348,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:349,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    - ASSERT_GT
    - absl::MakeSpan
    - std::min<int>
    - InsertRange
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - std::vector::resize
    - ASSERT_LE
    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:355,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:358,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:359,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:361,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:361,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:363,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:364,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    - num_objects_to_move
    - ASSERT_GT
    - absl::MakeSpan
    - std::min<int>
    - RemoveRange
    - std::vector::resize
    - ASSERT_LE
    - static_cast<size_t>
    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:373,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    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:380,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:381,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:382,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:384,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    - num_objects_to_move
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    - absl::Uniform
    - absl::Uniform<size_t>
    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: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    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:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    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:411,1
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:413,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:416,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - num_shards
    - use_generic_cache
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    - SetGenericCache
    - SetCacheForLargeClassesOnly
    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:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    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:423,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:426,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:428,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - central_freelist
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - Pop
    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:435,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 437
    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: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    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: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    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: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    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:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 442
    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:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    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:
    - back
    - push_back
    - std::make_unique<AlignedPtr>
    - ::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:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    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:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    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:156,1
    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::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:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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:162,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:163,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:164,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:164,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:165,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - central_freelist
    - absl::MakeSpan
    - InsertRange
    - std::vector::resize
    - std::min
    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:173,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:175,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:175,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:177,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:178,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - central_freelist
    - ASSERT_GT
    - absl::MakeSpan
    - RemoveRange
    - std::vector::resize
    - std::min
    - ASSERT_LE
    - static_cast<size_t>
    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:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 184
    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:186,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    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:193,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:195,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:197,1
    - Dst: HasSpareCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:199,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:201,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:201,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:203,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:203,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:205,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:207,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    - HasSpareCapacity
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    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: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    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:242,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:242,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:244,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:244,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:246,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    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: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    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: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    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:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    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:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    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:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 279
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 282
    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:293,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    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:299,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    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:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    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:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    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:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 335
    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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    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:340,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:343,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:344,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:346,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:346,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:347,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:348,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:349,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - central_freelist
    - ASSERT_GT
    - absl::MakeSpan
    - std::min<int>
    - InsertRange
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - std::vector::resize
    - ASSERT_LE
    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:355,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:358,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:359,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:361,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:361,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:363,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:364,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - central_freelist
    - num_objects_to_move
    - ASSERT_GT
    - absl::MakeSpan
    - std::min<int>
    - RemoveRange
    - std::vector::resize
    - ASSERT_LE
    - static_cast<size_t>
    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:373,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    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:380,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:381,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:382,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:384,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    - num_objects_to_move
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    - absl::Uniform
    - absl::Uniform<size_t>
    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: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    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:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    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:411,1
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:413,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:416,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - num_shards
    - use_generic_cache
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    - SetGenericCache
    - SetCacheForLargeClassesOnly
    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:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    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:423,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:426,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:428,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 1
    functionsReached:
    - central_freelist
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - Pop
    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:435,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 437
    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: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    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: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    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: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    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:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 442
    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:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    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:
    - back
    - push_back
    - std::make_unique<AlignedPtr>
    - ::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:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    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:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    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:156,1
    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::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:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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:162,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:163,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:164,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:164,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:165,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - central_freelist
    - absl::MakeSpan
    - InsertRange
    - std::vector::resize
    - std::min
    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:173,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:175,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:175,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:177,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:178,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - central_freelist
    - ASSERT_GT
    - absl::MakeSpan
    - RemoveRange
    - std::vector::resize
    - std::min
    - ASSERT_LE
    - static_cast<size_t>
    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:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 184
    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:186,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    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:193,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:195,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:197,1
    - Dst: HasSpareCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:199,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:201,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:201,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:203,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:203,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:205,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:207,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    - HasSpareCapacity
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    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: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    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:242,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:242,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:244,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:244,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:246,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    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: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    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: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    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:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    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:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    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:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 279
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 282
    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:293,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    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:299,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    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:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    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:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    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:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 335
    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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    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:340,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:343,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:344,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:346,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:346,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:347,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:348,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:349,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - central_freelist
    - ASSERT_GT
    - absl::MakeSpan
    - std::min<int>
    - InsertRange
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - std::vector::resize
    - ASSERT_LE
    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:355,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:358,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:359,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:361,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:361,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:363,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:364,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 4
    functionsReached:
    - central_freelist
    - num_objects_to_move
    - ASSERT_GT
    - absl::MakeSpan
    - std::min<int>
    - RemoveRange
    - std::vector::resize
    - ASSERT_LE
    - static_cast<size_t>
    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:373,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    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:380,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:381,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:382,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:384,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    - num_objects_to_move
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    - absl::Uniform
    - absl::Uniform<size_t>
    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: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    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:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    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:411,1
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:413,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:416,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - num_shards
    - use_generic_cache
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    - SetGenericCache
    - SetCacheForLargeClassesOnly
    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:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    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:423,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:426,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:428,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 2
    functionsReached:
    - central_freelist
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - Pop
    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:435,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 437
    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: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    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: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    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: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    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:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 442
    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:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    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:
    - back
    - push_back
    - std::make_unique<AlignedPtr>
    - ::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:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    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:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    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:156,1
    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::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:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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:162,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:163,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:164,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:164,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:165,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - central_freelist
    - absl::MakeSpan
    - InsertRange
    - std::vector::resize
    - std::min
    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:173,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:174,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:175,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:175,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:177,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:178,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 6
    functionsReached:
    - central_freelist
    - ASSERT_GT
    - absl::MakeSpan
    - RemoveRange
    - std::vector::resize
    - std::min
    - ASSERT_LE
    - static_cast<size_t>
    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:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 184
    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:186,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    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:193,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:195,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:197,1
    - Dst: HasSpareCapacity
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:199,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:201,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:201,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:203,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:203,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:205,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:207,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 211
    functionName: tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Insert
    - HasSpareCapacity
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Grow
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Shrink
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::FakeTransferCacheEnvironment::Remove
    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: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    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:242,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:242,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:244,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:244,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:246,1
    - Dst: std::make_unique<TransferCache>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    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: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    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: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    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:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    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:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    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:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 279
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 282
    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:293,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shards
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    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:299,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    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:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    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:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    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:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 335
    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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    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:340,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:343,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:344,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:346,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:346,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:347,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:348,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:349,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - central_freelist
    - ASSERT_GT
    - absl::MakeSpan
    - std::min<int>
    - InsertRange
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - std::vector::resize
    - ASSERT_LE
    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:355,1
    - Dst: std::min<int>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:358,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:359,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:361,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:361,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:363,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:364,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:365,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size_class
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 369
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 6
    functionsReached:
    - central_freelist
    - num_objects_to_move
    - ASSERT_GT
    - absl::MakeSpan
    - std::min<int>
    - RemoveRange
    - std::vector::resize
    - ASSERT_LE
    - static_cast<size_t>
    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:373,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    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:380,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:381,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:382,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:384,1
    - Dst: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Insert
    - num_objects_to_move
    - tcmalloc::tcmalloc_internal::MultiSizeClassTransferCacheEnvironment::Remove
    - absl::Uniform
    - absl::Uniform<size_t>
    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: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    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:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    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:411,1
    - Dst: SetCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:413,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:416,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - num_shards
    - use_generic_cache
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::FakeShardedTransferCacheEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 0
    functionsReached:
    - Init
    - SetGenericCache
    - SetCacheForLargeClassesOnly
    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:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    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:423,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:426,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:428,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_transfer_cache.h
    functionUses: 3
    functionsReached:
    - central_freelist
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - Pop
    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:435,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/mock_transfer_cache.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 437
    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: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    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: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    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: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    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:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 442
    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:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:112,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:176,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:177,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:208,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:209,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:215,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:221,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:227,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:234,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:238,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:239,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:240,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:242,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:244,1
    - Dst: active_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: active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:267,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:269,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:272,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:276,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:284,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:287,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:288,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:299,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:301,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:303,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:306,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:307,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:315,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:317,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:318,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:321,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:332,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:334,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:336,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:338,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:348,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:350,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:361,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:361,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:365,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:372,1
    - Dst: impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:378,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 382
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - TC_ASSERT_LT
    - active_partitions
    - ReleaseAtLeastNPages
    - stats
    - GetReleaseStats
    - TreatHugepageTrackers
    - CreateSubRegion
    - tcmalloc_internal::max
    - ASSUME
    - Length
    - MemoryTagToLabel
    - GetSmallSpanStats
    - printf
    - PbtxtRegion::PrintRaw
    - impl
    - __builtin_unreachable
    - ShrinkToUsageLimit
    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: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    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:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    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: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    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: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ~Choices()
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Choices()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:208,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::PageAllocator::impl
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - ASSUME
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - tag
    argTypes:
    - Length
    - SpanAllocInfo
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 216
    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:221,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: 222
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 222
    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:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - span
    - tag
    - span_alloc_info
    argTypes:
    - Span*
    - MemoryTag
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 228
    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,\n                                  SpanAllocInfo
      span_alloc_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - tag
    - span_alloc_info
    argTypes:
    - PageAllocatorInterface::AllocationState
    - MemoryTag
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 235
    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,\n                                  SpanAllocInfo
      span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:238,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:239,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:240,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:242,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::PageAllocator::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_partitions
    - tcmalloc_internal::PageAllocator::stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageAllocator::stats() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::PageAllocator::GetSmallSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::GetSmallSpanStats
    - tcmalloc_internal::PageAllocator::active_partitions
    linkageType: ''
    returnType: void
    signature: void PageAllocator::GetSmallSpanStats(SmallSpanStats* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:267,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:269,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:272,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: tcmalloc_internal::PageAllocator::GetLargeSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::GetLargeSpanStats
    - tcmalloc_internal::PageAllocator::active_partitions
    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:284,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:287,1
    - Dst: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_partitions
    - tcmalloc_internal::PageAllocator::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::TreatHugepageTrackers(\n    bool enable_collapse,
      bool enable_release_free_swapped)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:299,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:301,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:303,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:306,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    - tcmalloc_internal::PageAllocator::active_partitions
    - Length
    linkageType: ''
    returnType: Length
    signature: "Length PageAllocator::ReleaseAtLeastNPages(Length num_pages,\n                                                  PageReleaseReason
      reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:315,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:317,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:318,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::PageAllocator::GetReleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_partitions
    - tcmalloc_internal::PageAllocator::GetReleaseStats
    linkageType: ''
    returnType: PageReleaseStats
    signature: PageReleaseStats PageAllocator::GetReleaseStats() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:332,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:334,1
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:336,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' out'
    - tag
    - ' pageflags'
    argTypes:
    - Printer
    - MemoryTag
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 340
    functionName: tcmalloc_internal::PageAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - MemoryTagToLabel
    - printf
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::Print(Printer& out, MemoryTag tag,\n                                 PageFlagsBase&
      pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:348,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' region'
    - tag
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - MemoryTag
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: tcmalloc_internal::PageAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - MemoryTagToLabel
    - tcmalloc_internal::PageAllocator::impl
    - 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:361,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 362
    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:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 368
    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:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    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:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    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: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    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:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    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: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    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: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ~Choices()
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Choices()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:208,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::PageAllocator::impl
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 6
    functionsReached:
    - __builtin_unreachable
    - ASSUME
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - span_alloc_info
    - tag
    argTypes:
    - Length
    - SpanAllocInfo
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 216
    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:221,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: 222
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 222
    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:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - span
    - tag
    - span_alloc_info
    argTypes:
    - Span*
    - MemoryTag
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 228
    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,\n                                  SpanAllocInfo
      span_alloc_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - tag
    - span_alloc_info
    argTypes:
    - PageAllocatorInterface::AllocationState
    - MemoryTag
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 235
    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,\n                                  SpanAllocInfo
      span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:238,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:239,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:240,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:242,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::PageAllocator::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_partitions
    - tcmalloc_internal::PageAllocator::stats
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats PageAllocator::stats() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::PageAllocator::GetSmallSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::GetSmallSpanStats
    - tcmalloc_internal::PageAllocator::active_partitions
    linkageType: ''
    returnType: void
    signature: void PageAllocator::GetSmallSpanStats(SmallSpanStats* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:267,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:269,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:272,1
    - Dst: tcmalloc_internal::PageAllocator::GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: tcmalloc_internal::PageAllocator::GetLargeSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::GetLargeSpanStats
    - tcmalloc_internal::PageAllocator::active_partitions
    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:284,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:287,1
    - Dst: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: tcmalloc_internal::PageAllocator::TreatHugepageTrackers
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_partitions
    - tcmalloc_internal::PageAllocator::TreatHugepageTrackers
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::TreatHugepageTrackers(\n    bool enable_collapse,
      bool enable_release_free_swapped)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:299,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:301,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:302,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:303,1
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:306,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    - tcmalloc_internal::PageAllocator::active_partitions
    - Length
    linkageType: ''
    returnType: Length
    signature: "Length PageAllocator::ReleaseAtLeastNPages(Length num_pages,\n                                                  PageReleaseReason
      reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:315,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:317,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:318,1
    - Dst: tcmalloc_internal::PageAllocator::GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: tcmalloc_internal::PageAllocator::GetReleaseStats
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_partitions
    - tcmalloc_internal::PageAllocator::GetReleaseStats
    linkageType: ''
    returnType: PageReleaseStats
    signature: PageReleaseStats PageAllocator::GetReleaseStats() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:332,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:334,1
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:336,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' out'
    - tag
    - ' pageflags'
    argTypes:
    - Printer
    - MemoryTag
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 340
    functionName: tcmalloc_internal::PageAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - MemoryTagToLabel
    - printf
    - tcmalloc_internal::PageAllocator::impl
    linkageType: ''
    returnType: void
    signature: "void PageAllocator::Print(Printer& out, MemoryTag tag,\n                                 PageFlagsBase&
      pageflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:348,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:349,1
    - Dst: tcmalloc_internal::PageAllocator::impl
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' region'
    - tag
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - MemoryTag
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: tcmalloc_internal::PageAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - MemoryTagToLabel
    - tcmalloc_internal::PageAllocator::impl
    - 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:361,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator.h:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 362
    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:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 368
    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:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    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:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    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:
    - Get
    - TC_CHECK_LE
    - static_cast<const HugeAddressMap*>
    - Node*::range_::start
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - longest_::raw_num
    - TC_CHECK_GT
    - Put
    - range_::start
    - TC_CHECK_EQ
    - Remove
    - Node::Node
    - range_::len
    - const_cast<Node*>
    - total_mapped
    - static_cast<int64_t>
    - first
    - Node*::range_::len
    - meta_
    - len
    - start_addr
    - when
    - absl::base_internal::CycleClock::Now
    - Predecessor
    - longest_::in_bytes
    - merge_when
    - Check
    - Join
    - static_cast<const Node*>
    - Merge
    - TC_CHECK_LT
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - precedes
    - range_::end_addr
    - Node*::FixLongest
    - reinterpret_cast<Node*>
    - std::max
    - static_cast<double>
    - FixLongest
    - reorder_maybe
    - TC_CHECK
    - nranges
    - Node*::range_::precedes
    - Node*::next
    - start
    - root
    - HugeRange::start
    - end_addr
    - PrintI64
    - Node*::range_::intersects
    - printf
    - NHugePages
    - HugeRange::contains
    - range_::start_addr
    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:
    - TC_CHECK_LE
    - len
    - TC_CHECK_LT
    - start
    - start_addr
    - range_::start_addr
    - TC_CHECK_GT
    - end_addr
    - range_::start
    - range_::end_addr
    - TC_CHECK_EQ
    - Check
    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:
    - static_cast<const HugeAddressMap*>
    - const_cast<Node*>
    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::nranges
    - tcmalloc_internal::HugeAddressMap::Check
    - TC_CHECK_EQ
    - tcmalloc_internal::HugeAddressMap::total_mapped
    - NHugePages
    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:
    - PrintI64
    - longest_::in_bytes
    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:
    - tcmalloc_internal::HugeAddressMap::root
    - HugeRange::start
    - HugeRange::contains
    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:
    - static_cast<int64_t>
    - Node*::range_::len
    - len
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - merge_when
    - tcmalloc_internal::HugeAddressMap::Remove
    - Node*::when
    - static_cast<double>
    - Join
    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:
    - HugeRange::len
    - TC_CHECK
    - tcmalloc_internal::HugeAddressMap::Get
    - tcmalloc_internal::HugeAddressMap::root
    - Node*::range_::precedes
    - Node*::next
    - Node*::range_::start
    - HugeRange::start
    - tcmalloc_internal::HugeAddressMap::Predecessor
    - HugeRange::precedes
    - tcmalloc_internal::HugeAddressMap::first
    - Node*::range_::intersects
    - tcmalloc_internal::HugeAddressMap::Merge
    - std::max
    - tcmalloc_internal::HugeAddressMap::FixLongest
    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:
    - Node*::range_::start
    - tcmalloc_internal::HugeAddressMap::Put
    - HugeAddressMap::Node*::range_::len
    - NHugePages
    - HugeAddressMap::Node*::range_::start
    - std::max
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - reorder_maybe
    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:
    - meta_
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - TC_CHECK_EQ
    - Node::Node
    - reinterpret_cast<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:
    - TC_CHECK_LE
    - len
    - TC_CHECK_LT
    - start
    - start_addr
    - range_::start_addr
    - TC_CHECK_GT
    - end_addr
    - range_::start
    - range_::end_addr
    - TC_CHECK_EQ
    - Check
    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:
    - static_cast<const HugeAddressMap*>
    - const_cast<Node*>
    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::nranges
    - tcmalloc_internal::HugeAddressMap::Check
    - TC_CHECK_EQ
    - tcmalloc_internal::HugeAddressMap::total_mapped
    - NHugePages
    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:
    - PrintI64
    - longest_::in_bytes
    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:
    - tcmalloc_internal::HugeAddressMap::root
    - HugeRange::start
    - HugeRange::contains
    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:
    - static_cast<int64_t>
    - Node*::range_::len
    - len
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - merge_when
    - tcmalloc_internal::HugeAddressMap::Remove
    - Node*::when
    - static_cast<double>
    - Join
    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:
    - HugeRange::len
    - TC_CHECK
    - tcmalloc_internal::HugeAddressMap::Get
    - tcmalloc_internal::HugeAddressMap::root
    - Node*::range_::precedes
    - Node*::next
    - Node*::range_::start
    - HugeRange::start
    - tcmalloc_internal::HugeAddressMap::Predecessor
    - HugeRange::precedes
    - tcmalloc_internal::HugeAddressMap::first
    - Node*::range_::intersects
    - tcmalloc_internal::HugeAddressMap::Merge
    - std::max
    - tcmalloc_internal::HugeAddressMap::FixLongest
    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:
    - Node*::range_::start
    - tcmalloc_internal::HugeAddressMap::Put
    - HugeAddressMap::Node*::range_::len
    - NHugePages
    - HugeAddressMap::Node*::range_::start
    - std::max
    - tcmalloc_internal::HugeAddressMap::FixLongest
    - reorder_maybe
    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:
    - meta_
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - TC_CHECK_EQ
    - Node::Node
    - reinterpret_cast<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:
    - EXPECT_EQ
    - absl::MakeSpan
    - sizemap
    - InitIfNecessary
    - GTEST_SKIP
    - absl::Span::size
    - ASSERT_LE
    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:
    - EXPECT_EQ
    - absl::MakeSpan
    - sizemap
    - InitIfNecessary
    - GTEST_SKIP
    - absl::Span::size
    - ASSERT_LE
    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:
    - EXPECT_EQ
    - absl::MakeSpan
    - sizemap
    - InitIfNecessary
    - GTEST_SKIP
    - absl::Span::size
    - ASSERT_LE
    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:
    - EXPECT_EQ
    - absl::MakeSpan
    - sizemap
    - InitIfNecessary
    - GTEST_SKIP
    - absl::Span::size
    - ASSERT_LE
    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:
    - EXPECT_EQ
    - absl::MakeSpan
    - sizemap
    - InitIfNecessary
    - GTEST_SKIP
    - absl::Span::size
    - ASSERT_LE
    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:
    - EXPECT_EQ
    - absl::MakeSpan
    - sizemap
    - InitIfNecessary
    - GTEST_SKIP
    - absl::Span::size
    - ASSERT_LE
    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:
    - EXPECT_EQ
    - absl::MakeSpan
    - sizemap
    - InitIfNecessary
    - GTEST_SKIP
    - absl::Span::size
    - ASSERT_LE
    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:
    - EXPECT_EQ
    - absl::MakeSpan
    - sizemap
    - InitIfNecessary
    - GTEST_SKIP
    - absl::Span::size
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(SizeClassesTest, SmallClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:55,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      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: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - auto::in_bytes
    - PageIdContaining
    - Length
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - std::make_unique<Span>
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - 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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:89,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:95,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:96,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    - 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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:122,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:129,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:150,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: absl::MakeSpan
      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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_NEAR
    - EXPECT_FALSE
    - FreelistPopBatch
    - bytes_in_span
    - reinterpret_cast<char*>
    - EXPECT_TRUE
    - start_address
    - Fragmentation
    - FreelistEmpty
    - EXPECT_LT
    - FreelistPushBatch
    - static_cast<double>
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,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: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:213,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:217,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:232,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:233,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:235,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - FreelistEmpty
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - Fragmentation
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - tcmalloc::tcmalloc_internal::span
    - absl::MakeSpan
    - FreelistPopBatch
    - FreelistPushBatch
    - static_cast<double>
    - BitmapPtrToIdx
    - start_address
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasicObjIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:262,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:264,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:265,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:267,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:282,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:308,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 312
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - FreelistEmpty
    - AllocTime
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - absl::flat_hash_set::begin
    - tcmalloc::tcmalloc_internal::span
    - absl::flat_hash_set::size
    - absl::flat_hash_set::insert
    - absl::MakeSpan
    - absl::Bernoulli
    - FreelistPopBatch
    - FreelistPushBatch
    - BitmapPtrToIdx
    - absl::flat_hash_set::empty
    - start_address
    - absl::flat_hash_set::erase
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:342,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - tcmalloc_internal::Span::New
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::invalid_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:358,1
    - Dst: const_cast<Span&>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - absl::MakeSpan
    - FreelistPopBatch
    - const_cast<Span&>
    - benchmark::DoNotOptimize
    - FreelistPushBatch
    - Static::invalid_span
    linkageType: ''
    returnType: void
    signature: void TEST(SpanDeathTest, InvalidSpan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:55,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      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: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - auto::in_bytes
    - PageIdContaining
    - Length
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - std::make_unique<Span>
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - 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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:89,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:95,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:96,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    - 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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:122,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:129,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:150,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: absl::MakeSpan
      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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_NEAR
    - EXPECT_FALSE
    - FreelistPopBatch
    - bytes_in_span
    - reinterpret_cast<char*>
    - EXPECT_TRUE
    - start_address
    - Fragmentation
    - FreelistEmpty
    - EXPECT_LT
    - FreelistPushBatch
    - static_cast<double>
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,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: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:213,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:217,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:232,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:233,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:235,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - FreelistEmpty
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - Fragmentation
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - tcmalloc::tcmalloc_internal::span
    - absl::MakeSpan
    - FreelistPopBatch
    - FreelistPushBatch
    - static_cast<double>
    - BitmapPtrToIdx
    - start_address
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasicObjIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:262,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:264,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:265,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:267,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:282,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:308,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 312
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - FreelistEmpty
    - AllocTime
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - absl::flat_hash_set::begin
    - tcmalloc::tcmalloc_internal::span
    - absl::flat_hash_set::size
    - absl::flat_hash_set::insert
    - absl::MakeSpan
    - absl::Bernoulli
    - FreelistPopBatch
    - FreelistPushBatch
    - BitmapPtrToIdx
    - absl::flat_hash_set::empty
    - start_address
    - absl::flat_hash_set::erase
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:342,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - tcmalloc_internal::Span::New
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::invalid_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:358,1
    - Dst: const_cast<Span&>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - absl::MakeSpan
    - FreelistPopBatch
    - const_cast<Span&>
    - benchmark::DoNotOptimize
    - FreelistPushBatch
    - Static::invalid_span
    linkageType: ''
    returnType: void
    signature: void TEST(SpanDeathTest, InvalidSpan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:55,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      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: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - auto::in_bytes
    - PageIdContaining
    - Length
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - std::make_unique<Span>
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - 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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:89,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:95,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:96,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    - 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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:122,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:129,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:150,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: absl::MakeSpan
      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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_NEAR
    - EXPECT_FALSE
    - FreelistPopBatch
    - bytes_in_span
    - reinterpret_cast<char*>
    - EXPECT_TRUE
    - start_address
    - Fragmentation
    - FreelistEmpty
    - EXPECT_LT
    - FreelistPushBatch
    - static_cast<double>
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,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: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:213,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:217,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:232,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:233,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:235,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - FreelistEmpty
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - Fragmentation
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - tcmalloc::tcmalloc_internal::span
    - absl::MakeSpan
    - FreelistPopBatch
    - FreelistPushBatch
    - static_cast<double>
    - BitmapPtrToIdx
    - start_address
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasicObjIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:262,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:264,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:265,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:267,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:282,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:308,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 312
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - FreelistEmpty
    - AllocTime
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - absl::flat_hash_set::begin
    - tcmalloc::tcmalloc_internal::span
    - absl::flat_hash_set::size
    - absl::flat_hash_set::insert
    - absl::MakeSpan
    - absl::Bernoulli
    - FreelistPopBatch
    - FreelistPushBatch
    - BitmapPtrToIdx
    - absl::flat_hash_set::empty
    - start_address
    - absl::flat_hash_set::erase
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:342,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - tcmalloc_internal::Span::New
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::invalid_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:358,1
    - Dst: const_cast<Span&>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - absl::MakeSpan
    - FreelistPopBatch
    - const_cast<Span&>
    - benchmark::DoNotOptimize
    - FreelistPushBatch
    - Static::invalid_span
    linkageType: ''
    returnType: void
    signature: void TEST(SpanDeathTest, InvalidSpan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:55,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      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: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - auto::in_bytes
    - PageIdContaining
    - Length
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - std::make_unique<Span>
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - 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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:89,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:95,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:96,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    - 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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:122,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:129,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:150,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: absl::MakeSpan
      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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_NEAR
    - EXPECT_FALSE
    - FreelistPopBatch
    - bytes_in_span
    - reinterpret_cast<char*>
    - EXPECT_TRUE
    - start_address
    - Fragmentation
    - FreelistEmpty
    - EXPECT_LT
    - FreelistPushBatch
    - static_cast<double>
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,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: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:213,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:217,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:232,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:233,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:235,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - FreelistEmpty
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - Fragmentation
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - tcmalloc::tcmalloc_internal::span
    - absl::MakeSpan
    - FreelistPopBatch
    - FreelistPushBatch
    - static_cast<double>
    - BitmapPtrToIdx
    - start_address
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasicObjIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:262,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:264,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:265,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:267,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:282,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:308,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 312
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - FreelistEmpty
    - AllocTime
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - absl::flat_hash_set::begin
    - tcmalloc::tcmalloc_internal::span
    - absl::flat_hash_set::size
    - absl::flat_hash_set::insert
    - absl::MakeSpan
    - absl::Bernoulli
    - FreelistPopBatch
    - FreelistPushBatch
    - BitmapPtrToIdx
    - absl::flat_hash_set::empty
    - start_address
    - absl::flat_hash_set::erase
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:342,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - tcmalloc_internal::Span::New
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::invalid_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:358,1
    - Dst: const_cast<Span&>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - absl::MakeSpan
    - FreelistPopBatch
    - const_cast<Span&>
    - benchmark::DoNotOptimize
    - FreelistPushBatch
    - Static::invalid_span
    linkageType: ''
    returnType: void
    signature: void TEST(SpanDeathTest, InvalidSpan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:55,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      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: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - auto::in_bytes
    - PageIdContaining
    - Length
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - std::make_unique<Span>
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - 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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:89,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:95,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:96,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    - 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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:122,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:129,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:150,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: absl::MakeSpan
      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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_NEAR
    - EXPECT_FALSE
    - FreelistPopBatch
    - bytes_in_span
    - reinterpret_cast<char*>
    - EXPECT_TRUE
    - start_address
    - Fragmentation
    - FreelistEmpty
    - EXPECT_LT
    - FreelistPushBatch
    - static_cast<double>
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,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: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:213,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:217,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:232,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:233,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:235,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - FreelistEmpty
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - Fragmentation
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - tcmalloc::tcmalloc_internal::span
    - absl::MakeSpan
    - FreelistPopBatch
    - FreelistPushBatch
    - static_cast<double>
    - BitmapPtrToIdx
    - start_address
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasicObjIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:262,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:264,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:265,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:267,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:282,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:308,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 312
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - FreelistEmpty
    - AllocTime
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - absl::flat_hash_set::begin
    - tcmalloc::tcmalloc_internal::span
    - absl::flat_hash_set::size
    - absl::flat_hash_set::insert
    - absl::MakeSpan
    - absl::Bernoulli
    - FreelistPopBatch
    - FreelistPushBatch
    - BitmapPtrToIdx
    - absl::flat_hash_set::empty
    - start_address
    - absl::flat_hash_set::erase
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:342,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - tcmalloc_internal::Span::New
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::invalid_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:358,1
    - Dst: const_cast<Span&>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - absl::MakeSpan
    - FreelistPopBatch
    - const_cast<Span&>
    - benchmark::DoNotOptimize
    - FreelistPushBatch
    - Static::invalid_span
    linkageType: ''
    returnType: void
    signature: void TEST(SpanDeathTest, InvalidSpan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:55,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      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: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - auto::in_bytes
    - PageIdContaining
    - Length
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - std::make_unique<Span>
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - 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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:89,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:95,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:96,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    - 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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:122,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:129,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:150,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: absl::MakeSpan
      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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_NEAR
    - EXPECT_FALSE
    - FreelistPopBatch
    - bytes_in_span
    - reinterpret_cast<char*>
    - EXPECT_TRUE
    - start_address
    - Fragmentation
    - FreelistEmpty
    - EXPECT_LT
    - FreelistPushBatch
    - static_cast<double>
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,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: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:213,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:217,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:232,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:233,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:235,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - FreelistEmpty
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - Fragmentation
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - tcmalloc::tcmalloc_internal::span
    - absl::MakeSpan
    - FreelistPopBatch
    - FreelistPushBatch
    - static_cast<double>
    - BitmapPtrToIdx
    - start_address
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasicObjIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:262,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:264,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:265,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:267,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:282,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:308,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 312
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - FreelistEmpty
    - AllocTime
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - absl::flat_hash_set::begin
    - tcmalloc::tcmalloc_internal::span
    - absl::flat_hash_set::size
    - absl::flat_hash_set::insert
    - absl::MakeSpan
    - absl::Bernoulli
    - FreelistPopBatch
    - FreelistPushBatch
    - BitmapPtrToIdx
    - absl::flat_hash_set::empty
    - start_address
    - absl::flat_hash_set::erase
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:342,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - tcmalloc_internal::Span::New
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::invalid_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:358,1
    - Dst: const_cast<Span&>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - absl::MakeSpan
    - FreelistPopBatch
    - const_cast<Span&>
    - benchmark::DoNotOptimize
    - FreelistPushBatch
    - Static::invalid_span
    linkageType: ''
    returnType: void
    signature: void TEST(SpanDeathTest, InvalidSpan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:55,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      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: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - auto::in_bytes
    - PageIdContaining
    - Length
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - std::make_unique<Span>
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - 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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:89,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:95,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:96,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    - 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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:122,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:129,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:150,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: absl::MakeSpan
      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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_NEAR
    - EXPECT_FALSE
    - FreelistPopBatch
    - bytes_in_span
    - reinterpret_cast<char*>
    - EXPECT_TRUE
    - start_address
    - Fragmentation
    - FreelistEmpty
    - EXPECT_LT
    - FreelistPushBatch
    - static_cast<double>
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,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: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:213,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:217,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:232,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:233,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:235,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - FreelistEmpty
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - Fragmentation
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - tcmalloc::tcmalloc_internal::span
    - absl::MakeSpan
    - FreelistPopBatch
    - FreelistPushBatch
    - static_cast<double>
    - BitmapPtrToIdx
    - start_address
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasicObjIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:262,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:264,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:265,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:267,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:282,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:308,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 312
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - FreelistEmpty
    - AllocTime
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - absl::flat_hash_set::begin
    - tcmalloc::tcmalloc_internal::span
    - absl::flat_hash_set::size
    - absl::flat_hash_set::insert
    - absl::MakeSpan
    - absl::Bernoulli
    - FreelistPopBatch
    - FreelistPushBatch
    - BitmapPtrToIdx
    - absl::flat_hash_set::empty
    - start_address
    - absl::flat_hash_set::erase
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:342,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - tcmalloc_internal::Span::New
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::invalid_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:358,1
    - Dst: const_cast<Span&>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - absl::MakeSpan
    - FreelistPopBatch
    - const_cast<Span&>
    - benchmark::DoNotOptimize
    - FreelistPushBatch
    - Static::invalid_span
    linkageType: ''
    returnType: void
    signature: void TEST(SpanDeathTest, InvalidSpan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:53,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:54,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:55,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/span_test.cc:57,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:58,1
    - Dst: std::make_unique<Span>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_test.cc:61,1
    - Dst: PageIdContaining
      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: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: tcmalloc::tcmalloc_internal::RawSpan::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - Range
    - auto::in_bytes
    - PageIdContaining
    - Length
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - std::make_unique<Span>
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ~RawSpan()
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - 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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:89,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/span_test.cc:92,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:95,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_test.cc:96,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_test.cc:98,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::SpanTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    - 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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:109,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:113,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:119,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:121,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:122,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:126,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:129,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:150,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:153,1
    - Dst: absl::MakeSpan
      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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - absl::MakeSpan
    - EXPECT_NEAR
    - EXPECT_FALSE
    - FreelistPopBatch
    - bytes_in_span
    - reinterpret_cast<char*>
    - EXPECT_TRUE
    - start_address
    - Fragmentation
    - FreelistEmpty
    - EXPECT_LT
    - FreelistPushBatch
    - static_cast<double>
    - static_cast<char*>
    - tcmalloc::tcmalloc_internal::span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:172,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: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:182,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/span_test.cc:184,1
    - Dst: Fragmentation
      Src: /src/tcmalloc/tcmalloc/span_test.cc:185,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:189,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:192,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:209,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:213,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:216,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:217,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:219,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:224,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:232,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:233,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:235,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - FreelistEmpty
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - Fragmentation
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - tcmalloc::tcmalloc_internal::span
    - absl::MakeSpan
    - FreelistPopBatch
    - FreelistPushBatch
    - static_cast<double>
    - BitmapPtrToIdx
    - start_address
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistBasicObjIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/span_test.cc:252,1
    - Dst: absl::flat_hash_set::empty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:259,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:260,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/span_test.cc:262,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:264,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:265,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/span_test.cc:267,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:269,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:272,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: absl::flat_hash_set::begin
      Src: /src/tcmalloc/tcmalloc/span_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:280,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:282,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/span_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/span_test.cc:293,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/span_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/span_test.cc:306,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:308,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 312
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - FreelistEmpty
    - AllocTime
    - static_cast<char*>
    - EXPECT_LT
    - EXPECT_EQ
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - absl::flat_hash_set::begin
    - tcmalloc::tcmalloc_internal::span
    - absl::flat_hash_set::size
    - absl::flat_hash_set::insert
    - absl::MakeSpan
    - absl::Bernoulli
    - FreelistPopBatch
    - FreelistPushBatch
    - BitmapPtrToIdx
    - absl::flat_hash_set::empty
    - start_address
    - absl::flat_hash_set::erase
    - bytes_in_span
    linkageType: ''
    returnType: void
    signature: void TEST_P(SpanTest, FreelistRandomized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/span_test.cc:321,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/span_test.cc:328,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/span_test.cc:342,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_test.cc:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 353
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - tcmalloc_internal::Span::New
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc_internal::Span::Delete
    linkageType: ''
    returnType: void
    signature: void TEST(SpanAllocatorTest, Alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::invalid_span
      Src: /src/tcmalloc/tcmalloc/span_test.cc:357,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_test.cc:358,1
    - Dst: const_cast<Span&>
      Src: /src/tcmalloc/tcmalloc/span_test.cc:359,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/span_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - absl::MakeSpan
    - FreelistPopBatch
    - const_cast<Span&>
    - benchmark::DoNotOptimize
    - FreelistPushBatch
    - Static::invalid_span
    linkageType: ''
    returnType: void
    signature: void TEST(SpanDeathTest, InvalidSpan)
  - 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: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    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:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - caller
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    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:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - size
    - caller
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    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:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - caller
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 85
    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:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - align
    - size
    - caller
    argTypes:
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:
    - EXPECT_GE
    - TC_CHECK_NE
    - absl::StrCat
    - sscanf
    - fopen
    - TC_CHECK
    - fclose
    - tcmalloc_internal::GetMemoryStats
    - fgets
    - feof
    - EXPECT_LE
    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:
    - EXPECT_GE
    - ASSERT_GT
    - getpid
    - ::operator delete
    - ASSERT_FALSE
    - free
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::max
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::thread::join
    - mlockall
    - ::operator new
    - tcmalloc::MemoryUsageSlow
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - calloc
    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:
    - EXPECT_GE
    - TC_CHECK_NE
    - absl::StrCat
    - sscanf
    - fopen
    - TC_CHECK
    - fclose
    - tcmalloc_internal::GetMemoryStats
    - fgets
    - feof
    - EXPECT_LE
    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:
    - EXPECT_GE
    - ASSERT_GT
    - getpid
    - ::operator delete
    - ASSERT_FALSE
    - free
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::max
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::thread::join
    - mlockall
    - ::operator new
    - tcmalloc::MemoryUsageSlow
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - calloc
    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:
    - EXPECT_GE
    - TC_CHECK_NE
    - absl::StrCat
    - sscanf
    - fopen
    - TC_CHECK
    - fclose
    - tcmalloc_internal::GetMemoryStats
    - fgets
    - feof
    - EXPECT_LE
    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:
    - EXPECT_GE
    - ASSERT_GT
    - getpid
    - ::operator delete
    - ASSERT_FALSE
    - free
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::max
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::thread::join
    - mlockall
    - ::operator new
    - tcmalloc::MemoryUsageSlow
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - calloc
    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:
    - EXPECT_GE
    - TC_CHECK_NE
    - absl::StrCat
    - sscanf
    - fopen
    - TC_CHECK
    - fclose
    - tcmalloc_internal::GetMemoryStats
    - fgets
    - feof
    - EXPECT_LE
    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:
    - EXPECT_GE
    - ASSERT_GT
    - getpid
    - ::operator delete
    - ASSERT_FALSE
    - free
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::max
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::thread::join
    - mlockall
    - ::operator new
    - tcmalloc::MemoryUsageSlow
    - GTEST_SKIP
    - benchmark::DoNotOptimize
    - calloc
    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:81,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:85,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:102,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:103,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:105,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:143,1
    - Dst: NumShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:144,1
    - Dst: reinterpret_cast<Shard*>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:147,1
    - Dst: Shard::Shard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:150,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:153,1
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:162,1
    - Dst: UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:164,1
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:165,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:179,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:181,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:183,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:194,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:195,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:201,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:201,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:214,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:215,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:217,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:218,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:219,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:220,1
    - Dst: UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:221,1
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:221,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:223,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:224,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:225,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:229,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:231,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:234,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:243,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:249,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:260,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:261,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:262,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:268,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:270,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:271,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:272,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:272,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:274,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:274,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:281,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:284,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:299,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:303,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:311,1
    - Dst: TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:314,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:314,1
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:321,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:322,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:323,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:324,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:329,1
    - Dst: initialized::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:330,1
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:334,1
    - Dst: tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:337,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:340,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:353,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:368,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:370,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:375,1
    - Dst: TransferCache::CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:376,1
    - Dst: reinterpret_cast<TransferCache*>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:382,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:383,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:385,1
    - Dst: UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: ScaledCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: LargeCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:388,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:392,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:389,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:393,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:394,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:397,1
    - Dst: initialized::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:405,1
    - Dst: CurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:405,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:406,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:408,1
    - Dst: InitShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:409,1
    - Dst: InitCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:440,1
    - Dst: tc::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:443,1
    - Dst: tc::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:447,1
    - Dst: tc::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:453,1
    - Dst: tc::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:457,1
    - Dst: tc::freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:461,1
    - Dst: tc::CanIncreaseCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:465,1
    - Dst: std::max<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:471,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:472,1
    - Dst: TryResizingCaches
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:477,1
    - Dst: tc::TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:485,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:492,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:491,1
    - Dst: tc::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:497,1
    - Dst: tc::IncreaseCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:501,1
    - Dst: tc::FetchCommitIntervalMisses
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:505,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:509,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:510,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:511,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:512,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:513,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:517,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:518,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:521,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:530,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:537,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:548,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:549,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:550,1
    - Dst: class_to_size
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:554,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:555,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:556,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:557,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:558,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:559,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:560,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:561,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:561,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:587,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:587,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:592,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:596,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 262
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 647
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_LT
    - NumShards
    - freelist
    - CpuShard
    - LargeCacheCapacity
    - GetStats
    - Shard::Shard
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - RemoveRange
    - CacheTopology::Instance
    - tc::ShrinkCache
    - ScaledCacheCapacity
    - tc::CanIncreaseCapacity
    - tc::freelist
    - InitShard
    - Alloc
    - reinterpret_cast<Shard*>
    - UseGenericCache
    - tc::FetchCommitIntervalMisses
    - UseCacheForLargeClassesOnly
    - tc::tc_length
    - NumActiveShards
    - should_use
    - tc::RemoveRange
    - std::max<int>
    - PbtxtRegion::PrintI64
    - TryResizingCaches
    - initialized::load
    - Init
    - absl::base_internal::LowLevelCallOnce
    - shard_initialized
    - TC_ASSERT_NE
    - InitCaches
    - tc_length
    - store
    - class_to_size
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::EnableCacheForLargeClassesOnly
    - tcmalloc::tcmalloc_internal::FakeShardedTransferCacheManager::UseGenericCache
    - tcmalloc_internal::Parameters::priority_list_length
    - absl::MakeSpan
    - CreateSubRegion
    - TransferCache::TransferCache
    - tc::InsertRange
    - tc::GetStats
    - static_cast<int>
    - fetch_add
    - TryPlunder
    - IsExperimentActive
    - TransferCache::CapacityNeeded
    - tc::IncreaseCacheCapacity
    - tc::TryPlunder
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - load
    - initialized::store
    - reinterpret_cast<TransferCache*>
    - value
    - CurrentCpu
    - InsertRange
    - PrintI64
    - printf
    - TC_ASSERT
    - get_cache
    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:81,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    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: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    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: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    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:102,1
    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::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:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    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: 2
    argNames:
    - size_class
    - priority_list_length
    argTypes:
    - int
    - central_freelist_internal::PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::BackingTransferCache::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Init(\n      int size_class,\n      central_freelist_internal::PriorityListLength
      priority_list_length)"
  - 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::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: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    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:143,1
    - Dst: NumShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:144,1
    - Dst: reinterpret_cast<Shard*>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:147,1
    - Dst: Shard::Shard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:150,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:153,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:162,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:164,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - NumShards
    - Alloc
    - reinterpret_cast<Shard*>
    - tcmalloc_internal::ShardedTransferCacheManagerBase::Init
    - Shard::Shard
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - TC_ASSERT_NE
    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: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    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:179,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:181,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    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:194,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 198
    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:201,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:201,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - get_cache
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: void Pop(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size_class
    - absl_nonnull
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - get_cache
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: void Push(int size_class, void* absl_nonnull ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:214,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:215,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:217,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:218,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:219,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:220,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:221,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:221,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:223,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:224,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:225,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:229,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:231,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:234,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:243,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' counts'
    - ' out'
    argTypes:
    - StatsCounters<kNumClasses>
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - value
    - printf
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - 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:260,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:261,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:262,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:268,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:270,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:271,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:272,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:272,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:274,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' counts'
    - ' region'
    argTypes:
    - StatsCounters<kNumClasses>
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - CreateSubRegion
    - value
    - PrintI64
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    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:281,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 296
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    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:311,1
    - Dst: TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:314,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Plunder
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    - TryPlunder
    - freelist
    linkageType: ''
    returnType: void
    signature: void Plunder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:321,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:322,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:323,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    - TC_ASSERT_LT
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    - CpuShard
    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:329,1
    - Dst: initialized::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - shard
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 5
    functionsReached:
    - TC_ASSERT_LT
    - initialized::load
    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: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: 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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 337
    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:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    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:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    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:368,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 372
    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:375,1
    - Dst: TransferCache::CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TransferCache::CapacityNeeded
    - tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
    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:382,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:383,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:385,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:388,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:392,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:389,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:393,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:394,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:397,1
    - Dst: initialized::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' shard'
    argTypes:
    - Shard
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::InitShard
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::priority_list_length
    - TransferCache::TransferCache
    - Alloc
    - freelist
    - tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
    - initialized::store
    - tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
    - reinterpret_cast<TransferCache*>
    - fetch_add
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void InitShard(Shard& shard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:405,1
    - Dst: CurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:405,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:406,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:408,1
    - Dst: InitShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: '& get_cache(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - InitShard
    - CpuShard
    - CurrentCpu
    - absl::base_internal::LowLevelCallOnce
    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: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    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: 437
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 437
    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: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    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:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 440
    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:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    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:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    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:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    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:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    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:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    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:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    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:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    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:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 487
    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: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:492,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: tcmalloc_internal::TransferCacheManager::InitCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - TransferCache::TransferCache
    - tcmalloc_internal::Parameters::priority_list_length
    linkageType: ''
    returnType: void
    signature: void InitCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::ShrinkCache
      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::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:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    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:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    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: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:509,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:510,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:511,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:512,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:513,1
    - Dst: tcmalloc_internal::TransferCacheManager::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:517,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:518,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:521,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:530,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' counts'
    - ' out'
    argTypes:
    - StatsCounters<kNumClasses>
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 543
    functionName: tcmalloc_internal::TransferCacheManager::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::GetStats
    - printf
    - class_to_size
    - value
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses>& counts, Printer& out)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:548,1
    - Dst: tcmalloc_internal::TransferCacheManager::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:549,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:550,1
    - Dst: class_to_size
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:554,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:555,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:556,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:557,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:558,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:559,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:560,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:561,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' counts'
    - ' region'
    argTypes:
    - StatsCounters<kNumClasses>
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::TransferCacheManager::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - value
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::TransferCacheManager::GetStats
    - 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: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    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: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    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: 581
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 581
    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: 582
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 582
    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: 583
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 583
    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:587,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: tcmalloc_internal::TransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::Init
    - tcmalloc_internal::Parameters::priority_list_length
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 593
    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:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 597
    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: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    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: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    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: 605
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 605
    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: 609
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 609
    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: 611
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 611
    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: 613
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 613
    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: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    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: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    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: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    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: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    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: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    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: 629
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 629
    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: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    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: 631
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 631
    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: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    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: 633
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 633
    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: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    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: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    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: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    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: 637
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 637
    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: 638
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 638
    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: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    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: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    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:81,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    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: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    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: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    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:102,1
    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::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:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    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: 2
    argNames:
    - size_class
    - priority_list_length
    argTypes:
    - int
    - central_freelist_internal::PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: tcmalloc_internal::BackingTransferCache::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Init(\n      int size_class,\n      central_freelist_internal::PriorityListLength
      priority_list_length)"
  - 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::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: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    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:143,1
    - Dst: NumShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:144,1
    - Dst: reinterpret_cast<Shard*>
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:145,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:147,1
    - Dst: Shard::Shard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:150,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:153,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:162,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:164,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - NumShards
    - Alloc
    - reinterpret_cast<Shard*>
    - tcmalloc_internal::ShardedTransferCacheManagerBase::Init
    - Shard::Shard
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - TC_ASSERT_NE
    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: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    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:179,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:181,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 188
    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:194,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 198
    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:201,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:201,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - get_cache
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: void Pop(int size_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:209,1
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size_class
    - absl_nonnull
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - get_cache
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: void Push(int size_class, void* absl_nonnull ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:214,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:215,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:216,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:217,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:218,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:219,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:220,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:221,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:221,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:223,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:224,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:225,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:229,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:231,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:234,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:243,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' counts'
    - ' out'
    argTypes:
    - StatsCounters<kNumClasses>
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - value
    - printf
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - 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:260,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:261,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:262,1
    - Dst: tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:268,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:269,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:270,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:271,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:272,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:272,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:274,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' counts'
    - ' region'
    argTypes:
    - StatsCounters<kNumClasses>
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::class_to_size
    - CreateSubRegion
    - value
    - PrintI64
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    - tcmalloc_internal::ShardedTransferCacheManagerBase::NumActiveShards
    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:281,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 296
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    - tcmalloc_internal::ShardedTransferCacheManagerBase::GetStats
    linkageType: ''
    returnType: TransferCacheStats
    signature: TransferCacheStats GetStats(int size_class) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    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:311,1
    - Dst: TryPlunder
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:314,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::Plunder
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    - TryPlunder
    - freelist
    linkageType: ''
    returnType: void
    signature: void Plunder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:321,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:322,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:323,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::ShardedTransferCacheManagerBase::tc_length
    - TC_ASSERT_LT
    - tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    - CpuShard
    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:329,1
    - Dst: initialized::load
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - shard
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::shard_initialized
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 10
    functionsReached:
    - TC_ASSERT_LT
    - initialized::load
    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: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: 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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 337
    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:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    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:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    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:368,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 372
    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:375,1
    - Dst: TransferCache::CapacityNeeded
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 1
    functionsReached:
    - TransferCache::CapacityNeeded
    - tcmalloc_internal::ShardedTransferCacheManagerBase::should_use
    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:382,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:383,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:385,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:387,1
    - Dst: tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:388,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:392,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:389,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:393,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:394,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:397,1
    - Dst: initialized::store
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' shard'
    argTypes:
    - Shard
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::ShardedTransferCacheManagerBase::InitShard
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::priority_list_length
    - TransferCache::TransferCache
    - Alloc
    - freelist
    - tcmalloc_internal::ShardedTransferCacheManagerBase::LargeCacheCapacity
    - initialized::store
    - tcmalloc_internal::ShardedTransferCacheManagerBase::ScaledCacheCapacity
    - reinterpret_cast<TransferCache*>
    - fetch_add
    - tcmalloc_internal::ShardedTransferCacheManagerBase::UseGenericCache
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void InitShard(Shard& shard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:405,1
    - Dst: CurrentCpu
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:405,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:406,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:408,1
    - Dst: InitShard
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: '& get_cache(int size_class)'
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - InitShard
    - CpuShard
    - CurrentCpu
    - absl::base_internal::LowLevelCallOnce
    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: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    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: 437
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 437
    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: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    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:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 440
    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:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    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:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    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:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    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:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    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:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    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:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    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:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    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:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 487
    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: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:492,1
    - Dst: TransferCache::TransferCache
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: tcmalloc_internal::TransferCacheManager::InitCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - TransferCache::TransferCache
    - tcmalloc_internal::Parameters::priority_list_length
    linkageType: ''
    returnType: void
    signature: void InitCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc::ShrinkCache
      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::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:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    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:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    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: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:509,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:510,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:511,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:512,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:513,1
    - Dst: tcmalloc_internal::TransferCacheManager::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:517,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:518,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:521,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:530,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' counts'
    - ' out'
    argTypes:
    - StatsCounters<kNumClasses>
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 543
    functionName: tcmalloc_internal::TransferCacheManager::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::GetStats
    - printf
    - class_to_size
    - value
    linkageType: ''
    returnType: void
    signature: void Print(const StatsCounters<kNumClasses>& counts, Printer& out)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:548,1
    - Dst: tcmalloc_internal::TransferCacheManager::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:549,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:550,1
    - Dst: class_to_size
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:554,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:555,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:556,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:557,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:558,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:559,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:560,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:561,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' counts'
    - ' region'
    argTypes:
    - StatsCounters<kNumClasses>
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::TransferCacheManager::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - value
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::TransferCacheManager::GetStats
    - 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: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    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: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    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: 581
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 581
    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: 582
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 582
    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: 583
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 583
    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:587,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: tcmalloc_internal::TransferCacheManager::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::TransferCacheManager::Init
    - tcmalloc_internal::Parameters::priority_list_length
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TransferCacheManager::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 593
    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:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - int
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 597
    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: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    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: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    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: 605
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 605
    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: 609
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 609
    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: 611
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 611
    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: 613
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 613
    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: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    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: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    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: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    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: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    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: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    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: 629
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 629
    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: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    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: 631
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 631
    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: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    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: 633
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 633
    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: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    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: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    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: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    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: 637
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 637
    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: 638
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 638
    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: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    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: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_ATTRIBUTE_SECTION_VARIABLE
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:116,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:148,1
    - Dst: tcmalloc::AddressRegionFactory::InternalBytesAllocated
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:149,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:155,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:162,1
    - Dst: default_want_legacy_size_classes
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:168,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:172,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:175,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:187,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:192,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:194,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:195,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:196,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:198,1
    - Dst: TCMalloc_Internal_SetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:199,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:203,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:204,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:207,1
    - Dst: PageAllocator::PageAllocator
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:208,1
    - Dst: MapRootWithSmallPages
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:209,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:210,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 218
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - thread_safe_getenv
    - strcmp
    - NumCPUsMaybe
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_EQ
    - CacheTopology::Instance
    - tcmalloc::AddressRegionFactory::InternalBytesAllocated
    - MapRootWithSmallPages
    - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    - tcmalloc_internal::MInCore::residence
    - TCMalloc_Internal_SetMinHotAccessHint
    - arena
    - Init
    - default_want_legacy_size_classes
    - store
    - TC_BUG
    - IsExperimentActive
    - PageAllocator::PageAllocator
    - ABSL_ATTRIBUTE_SECTION_VARIABLE
    - TC_CHECK
    - load
    - ABSL_PREDICT_FALSE
    - SizeMap::CurrentClasses
    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:148,1
    - Dst: tcmalloc::AddressRegionFactory::InternalBytesAllocated
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::Static::metadata_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::AddressRegionFactory::InternalBytesAllocated
    - arena
    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:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:162,1
    - Dst: default_want_legacy_size_classes
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:168,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:172,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:175,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::Static::size_class_configuration
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - thread_safe_getenv
    - strcmp
    - default_want_legacy_size_classes
    - TC_BUG
    - IsExperimentActive
    linkageType: ''
    returnType: SizeClassConfiguration
    signature: SizeClassConfiguration Static::size_class_configuration()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:187,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:192,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:194,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:195,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:196,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:198,1
    - Dst: TCMalloc_Internal_SetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:199,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:203,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:204,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:207,1
    - Dst: PageAllocator::PageAllocator
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:208,1
    - Dst: MapRootWithSmallPages
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:209,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:210,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 215
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_NOINLINE::SlowInitIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - MapRootWithSmallPages
    - store
    - TC_CHECK
    - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    - load
    - ABSL_PREDICT_FALSE
    - TCMalloc_Internal_SetMinHotAccessHint
    - PageAllocator::PageAllocator
    - NumCPUsMaybe
    - CacheTopology::Instance
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_EQ
    - Init
    - SizeMap::CurrentClasses
    - IsExperimentActive
    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:148,1
    - Dst: tcmalloc::AddressRegionFactory::InternalBytesAllocated
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::Static::metadata_bytes
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::AddressRegionFactory::InternalBytesAllocated
    - arena
    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:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:162,1
    - Dst: default_want_legacy_size_classes
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:168,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:172,1
    - Dst: strcmp
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:175,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 181
    functionName: tcmalloc_internal::Static::size_class_configuration
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - thread_safe_getenv
    - strcmp
    - default_want_legacy_size_classes
    - TC_BUG
    - IsExperimentActive
    linkageType: ''
    returnType: SizeClassConfiguration
    signature: SizeClassConfiguration Static::size_class_configuration()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:187,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:188,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:191,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:192,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:194,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:195,1
    - Dst: CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:196,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:198,1
    - Dst: TCMalloc_Internal_SetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:199,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:203,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:204,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:207,1
    - Dst: PageAllocator::PageAllocator
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:208,1
    - Dst: MapRootWithSmallPages
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:209,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:210,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/static_vars.cc:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 215
    functionName: tcmalloc_internal::ABSL_ATTRIBUTE_NOINLINE::SlowInitIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.cc
    functionUses: 0
    functionsReached:
    - MapRootWithSmallPages
    - store
    - TC_CHECK
    - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    - load
    - ABSL_PREDICT_FALSE
    - TCMalloc_Internal_SetMinHotAccessHint
    - PageAllocator::PageAllocator
    - NumCPUsMaybe
    - CacheTopology::Instance
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_EQ
    - Init
    - SizeMap::CurrentClasses
    - IsExperimentActive
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_COLD
    signature: ABSL_ATTRIBUTE_COLD ABSL_ATTRIBUTE_NOINLINE void Static::SlowInitIfNecessary()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: DECLARE_ALLOC_TOKEN_NEW
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_ALLOC_TOKEN_NEW(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: DECLARE_ALLOC_TOKEN_NEW_EXTENSION
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_ALLOC_TOKEN_NEW_EXTENSION(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: DECLARE_ALLOC_TOKEN_STDLIB
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_ALLOC_TOKEN_STDLIB(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: DECLARE_ALLOC_TOKEN_VARIANTS
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_ALLOC_TOKEN_VARIANTS(id)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:60,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:93,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:96,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:100,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:142,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:142,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:236,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:255,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:256,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:262,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:263,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:268,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:269,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:273,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:285,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:286,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:289,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:359,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:362,1
    - Dst: NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:395,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:397,1
    - Dst: nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:400,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:401,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:402,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:403,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:404,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:407,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:408,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:416,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:418,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:419,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:427,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:428,1
    - Dst: set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:429,1
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    - Dst: GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:461,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:480,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:481,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:489,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:492,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:497,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:497,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:503,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:516,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:517,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:518,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:521,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:522,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:542,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:549,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:564,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:565,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: Span*::AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:568,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:577,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:577,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:585,1
    - Dst: FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:599,1
    - Dst: Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:604,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:609,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:615,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:620,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:621,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:630,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:631,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:635,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:637,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:639,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:641,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:653,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:656,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:660,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:662,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:667,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:673,1
    - Dst: IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:677,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:678,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:687,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:688,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:689,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:699,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:700,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:706,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:718,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:726,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:727,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:737,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:746,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:747,1
    - Dst: Span*::set_is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:748,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:750,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:751,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:752,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:765,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:768,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:769,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:773,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:776,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:777,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:782,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:785,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:790,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:791,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:796,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: Span*::AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:800,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:801,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:806,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:809,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:814,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:816,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:819,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:826,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:831,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:836,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:840,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:845,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:850,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:854,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:861,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:862,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:863,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:869,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:870,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    - Dst: NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:882,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:884,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:885,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:886,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:887,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:895,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:896,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:901,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: Span*::AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:905,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:906,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:912,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:913,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:914,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:917,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:921,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:922,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:923,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:937,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:938,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:939,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 321
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 952
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ASSUME
    - TC_CHECK_GT
    - RecordMultiSpansDeallocated
    - TC_ASSERT_EQ
    - SizeOfList
    - TC_LOG
    - in_bytes
    - std::upper_bound
    - absl::bit_width
    - Span*::Allocated
    - Span*::set_is_long_lived_span
    - TC_CHECK
    - LifetimeBucketNum
    - ABSL_PREDICT_FALSE
    - DeallocateSpans
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - tcmalloc_internal::Span::CalcReciprocal
    - printf
    - Span*::FreelistPopBatch
    - static_cast<size_t>
    - AllocTime
    - Iter
    - nonempty_index
    - ReleaseToSpans
    - PbtxtRegion::PrintI64
    - TC_ASSERT_GT
    - TC_CHECK_NE
    - num_spans
    - NumPriorityLists
    - Span*::is_long_lived_span
    - absl::ToInt64Seconds
    - AllocateSpan
    - FreelistPushBatch
    - lock
    - Allocated
    - Span*::start_address
    - TC_CHECK_LE
    - IndexFor
    - std::min<size_t>
    - clock_now
    - absl::base_internal::CycleClock::Now
    - SpanStats::num_live_spans
    - GetFirstNonEmptyIndex
    - RecordSpanUtil
    - MapObjectsToSpans
    - LossyAdd
    - class_to_pages
    - size
    - Add
    - std::max<double>
    - CreateSubRegion
    - Span*::AllocTime
    - Span*::nonempty_index
    - unlock
    - TC_ASSERT
    - set_nonempty_index
    - NumSpansWith
    - FreelistEmpty
    - Remove
    - TC_ASSERT_GE
    - absl::Milliseconds
    - UpdateObjectCounts
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - is_long_lived_span
    - class_to_size
    - clock_frequency
    - Populate
    - absl::ToInt64Milliseconds
    - absl::MakeSpan
    - FirstNonEmptySpan
    - empty
    - Span*::FreelistEmpty
    - Span*::BuildFreelist
    - NumSpansInList
    - PeekLeast
    - BitmapPtrToIdx
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Span*::set_nonempty_index
    - value
    - RecordSpanAllocated
    - subspan
    - TC_ASSERT_LE
    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:58,1
    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: 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: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_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: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    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: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    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: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    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:142,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:142,1
    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::central_freelist_internal::CentralFreeList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - value
    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: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priority_list_length
    argTypes:
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumPriorityLists(PriorityListLength priority_list_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:255,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    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:262,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    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:268,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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:285,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:286,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 291
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:359,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:362,1
    - Dst: NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - size_class
    - priority_list_length
    argTypes:
    - size_t
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 387
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - absl::bit_width
    - NumPriorityLists
    - TC_ASSERT_LE
    - std::min<size_t>
    - tcmalloc_internal::Span::CalcReciprocal
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::Init(\n    size_t size_class,\n    PriorityListLength
      priority_list_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:395,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:397,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:400,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:401,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:402,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:403,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:404,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:407,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:408,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:416,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:418,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:419,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:427,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:428,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - batch
    - span
    - object_size
    - size_reciprocal
    argTypes:
    - absl::Span<T>
    - Span*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 432
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - absl::Span<T>::size
    - Add
    - Span*::set_nonempty_index
    - ABSL_PREDICT_FALSE
    - absl::bit_width
    - Span*::Allocated
    - Span*::nonempty_index
    - Span*::is_long_lived_span
    - TC_ASSERT_EQ
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Remove
    - RecordSpanUtil
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    - Span*::FreelistPushBatch
    linkageType: ''
    returnType: Span
    signature: "Span * CentralFreeList<Forwarder>::ReleaseToSpans(\n    absl::Span<T>
      batch, Span* span, size_t object_size,\n    uint32_t size_reciprocal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 440
    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: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    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:461,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:480,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:481,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - is_long_lived_span
    - allocated
    - bitwidth
    argTypes:
    - bool
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 1
    functionsReached:
    - std::min<size_t>
    - ASSUME
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t CentralFreeList<Forwarder>::IndexFor(bool is_long_lived_span,\n
      \                                                   uint16_t allocated,\n                                                    uint8_t
      bitwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:489,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - SizeOfList
    - ASSUME
    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:497,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:497,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:503,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:516,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:517,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:518,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:521,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:522,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:542,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:549,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 557
    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>::DeallocateSpans
    - TC_CHECK
    - TC_CHECK_LE
    - BitmapPtrToIdx
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - absl::Span<void*>::empty
    - RecordMultiSpansDeallocated
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::InsertRange(absl::Span<void*> batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:564,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:565,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:568,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 573
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - clock_frequency
    - std::max<double>
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - absl::Milliseconds
    - LifetimeBucketNum
    - clock_now
    - AllocTime
    - LossyAdd
    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:577,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:577,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:585,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:599,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:604,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:609,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:615,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:620,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:621,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:630,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:631,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:635,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:637,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:639,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 644
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    - Remove
    - TC_ASSERT_EQ
    - absl::Span<void*>::subspan
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - RecordSpanUtil
    - LossyAdd
    - TC_ASSERT_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    - Add
    - absl::bit_width
    - Span*::Allocated
    - Span*::is_long_lived_span
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Span*::set_nonempty_index
    - ABSL_PREDICT_FALSE
    - absl::Span<void*>::empty
    - Span*::nonempty_index
    - TC_ASSERT
    - Span*::FreelistPopBatch
    - TC_ASSERT_LE
    - Span*::start_address
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    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:653,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:656,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:660,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:662,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:667,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:673,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:677,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:678,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 682
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 1
    functionsReached:
    - lock
    - Add
    - Span*::set_nonempty_index
    - RecordSpanUtil
    - ABSL_PREDICT_FALSE
    - absl::bit_width
    - Span*::Allocated
    - Span*::is_long_lived_span
    - TC_ASSERT_EQ
    - RecordSpanAllocated
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - unlock
    - clock_now
    - TC_ASSERT_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    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:687,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:688,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 3
    functionsReached:
    - ABSL_PREDICT_FALSE
    - TC_LOG
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::AllocateSpan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:699,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - in_bytes
    - num_spans
    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:706,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - value
    - SpanStats::num_live_spans
    linkageType: ''
    returnType: SpanStats
    signature: SpanStats CentralFreeList<Forwarder>::GetSpanStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:718,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitwidth
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 721
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GT
    - value
    linkageType: ''
    returnType: size_t
    signature: "size_t CentralFreeList<Forwarder>::NumSpansWith(\n    uint16_t bitwidth)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:726,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:727,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:737,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:746,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:747,1
    - Dst: Span*::set_is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:748,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:750,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:751,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:752,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 757
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::HandleLongLivedSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - Add
    - Span*::set_nonempty_index
    - Iter
    - absl::bit_width
    - Span*::nonempty_index
    - Span*::set_is_long_lived_span
    - absl::ToInt64Seconds
    - TC_ASSERT_GE
    - Remove
    - clock_now
    - AllocTime
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::HandleLongLivedSpans()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:765,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:768,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:769,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:773,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:776,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:777,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:782,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 786
    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
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    - printf
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanUtilStats(Printer& out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:790,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:791,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:796,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:800,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:801,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:806,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:809,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:814,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:816,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:819,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 827
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - std::max<double>
    - absl::Milliseconds
    - Iter
    - LifetimeBucketNum
    - value
    - printf
    - clock_now
    - AllocTime
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanLifetimeStats(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:831,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:836,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 841
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintNumSpansUsed(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:845,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:850,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 855
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMoved
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintLongLivedSpansMoved(Printer&
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:861,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:862,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:863,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:869,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:870,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 874
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:882,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:884,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:885,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:886,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 890
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    - value
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:895,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:896,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:901,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:905,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:906,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:912,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:913,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:914,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:917,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:921,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:922,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:923,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 928
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - std::max<double>
    - absl::Milliseconds
    - Iter
    - LifetimeBucketNum
    - CreateSubRegion
    - value
    - PbtxtRegion::PrintI64
    - clock_now
    - AllocTime
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:937,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:938,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:939,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 944
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    - value
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    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: 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: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_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: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    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: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    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: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    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:142,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:142,1
    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::central_freelist_internal::CentralFreeList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - value
    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: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priority_list_length
    argTypes:
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumPriorityLists(PriorityListLength priority_list_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:255,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    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:262,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    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:268,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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:285,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:286,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 291
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:359,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:362,1
    - Dst: NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - size_class
    - priority_list_length
    argTypes:
    - size_t
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 387
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - absl::bit_width
    - NumPriorityLists
    - TC_ASSERT_LE
    - std::min<size_t>
    - tcmalloc_internal::Span::CalcReciprocal
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::Init(\n    size_t size_class,\n    PriorityListLength
      priority_list_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:395,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:397,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:400,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:401,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:402,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:403,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:404,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:407,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:408,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:416,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:418,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:419,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:427,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:428,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - batch
    - span
    - object_size
    - size_reciprocal
    argTypes:
    - absl::Span<T>
    - Span*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 432
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 1
    functionsReached:
    - absl::Span<T>::size
    - Add
    - Span*::set_nonempty_index
    - ABSL_PREDICT_FALSE
    - absl::bit_width
    - Span*::Allocated
    - Span*::nonempty_index
    - Span*::is_long_lived_span
    - TC_ASSERT_EQ
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Remove
    - RecordSpanUtil
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    - Span*::FreelistPushBatch
    linkageType: ''
    returnType: Span
    signature: "Span * CentralFreeList<Forwarder>::ReleaseToSpans(\n    absl::Span<T>
      batch, Span* span, size_t object_size,\n    uint32_t size_reciprocal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 440
    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: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    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:461,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:480,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:481,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - is_long_lived_span
    - allocated
    - bitwidth
    argTypes:
    - bool
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - std::min<size_t>
    - ASSUME
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t CentralFreeList<Forwarder>::IndexFor(bool is_long_lived_span,\n
      \                                                   uint16_t allocated,\n                                                    uint8_t
      bitwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:489,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - SizeOfList
    - ASSUME
    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:497,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:497,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:503,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:516,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:517,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:518,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:521,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:522,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:542,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:549,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 557
    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>::DeallocateSpans
    - TC_CHECK
    - TC_CHECK_LE
    - BitmapPtrToIdx
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - absl::Span<void*>::empty
    - RecordMultiSpansDeallocated
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::InsertRange(absl::Span<void*> batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:564,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:565,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:568,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 573
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - clock_frequency
    - std::max<double>
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - absl::Milliseconds
    - LifetimeBucketNum
    - clock_now
    - AllocTime
    - LossyAdd
    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:577,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:577,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:585,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:599,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:604,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:609,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:615,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:620,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:621,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:630,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:631,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:635,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:637,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:639,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 644
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    - Remove
    - TC_ASSERT_EQ
    - absl::Span<void*>::subspan
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - RecordSpanUtil
    - LossyAdd
    - TC_ASSERT_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    - Add
    - absl::bit_width
    - Span*::Allocated
    - Span*::is_long_lived_span
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Span*::set_nonempty_index
    - ABSL_PREDICT_FALSE
    - absl::Span<void*>::empty
    - Span*::nonempty_index
    - TC_ASSERT
    - Span*::FreelistPopBatch
    - TC_ASSERT_LE
    - Span*::start_address
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    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:653,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:656,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:660,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:662,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:667,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:673,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:677,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:678,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 682
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - lock
    - Add
    - Span*::set_nonempty_index
    - RecordSpanUtil
    - ABSL_PREDICT_FALSE
    - absl::bit_width
    - Span*::Allocated
    - Span*::is_long_lived_span
    - TC_ASSERT_EQ
    - RecordSpanAllocated
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - unlock
    - clock_now
    - TC_ASSERT_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    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:687,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:688,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached:
    - ABSL_PREDICT_FALSE
    - TC_LOG
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::AllocateSpan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:699,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - in_bytes
    - num_spans
    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:706,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - value
    - SpanStats::num_live_spans
    linkageType: ''
    returnType: SpanStats
    signature: SpanStats CentralFreeList<Forwarder>::GetSpanStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:718,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitwidth
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 721
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_GT
    - value
    linkageType: ''
    returnType: size_t
    signature: "size_t CentralFreeList<Forwarder>::NumSpansWith(\n    uint16_t bitwidth)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:726,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:727,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:737,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:746,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:747,1
    - Dst: Span*::set_is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:748,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:750,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:751,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:752,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 757
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::HandleLongLivedSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - Add
    - Span*::set_nonempty_index
    - Iter
    - absl::bit_width
    - Span*::nonempty_index
    - Span*::set_is_long_lived_span
    - absl::ToInt64Seconds
    - TC_ASSERT_GE
    - Remove
    - clock_now
    - AllocTime
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::HandleLongLivedSpans()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:765,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:768,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:769,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:773,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:776,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:777,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:782,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 786
    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
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    - printf
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanUtilStats(Printer& out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:790,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:791,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:796,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:800,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:801,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:806,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:809,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:814,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:816,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:819,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 827
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - std::max<double>
    - absl::Milliseconds
    - Iter
    - LifetimeBucketNum
    - value
    - printf
    - clock_now
    - AllocTime
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanLifetimeStats(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:831,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:836,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 841
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintNumSpansUsed(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:845,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:850,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 855
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMoved
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintLongLivedSpansMoved(Printer&
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:861,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:862,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:863,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:869,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:870,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 874
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:882,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:884,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:885,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:886,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 890
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    - value
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:895,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:896,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:901,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:905,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:906,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:912,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:913,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:914,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:917,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:921,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:922,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:923,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 928
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - std::max<double>
    - absl::Milliseconds
    - Iter
    - LifetimeBucketNum
    - CreateSubRegion
    - value
    - PbtxtRegion::PrintI64
    - clock_now
    - AllocTime
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:937,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:938,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:939,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 944
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    - value
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    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: 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: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_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: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    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: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    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: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    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:142,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:142,1
    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::central_freelist_internal::CentralFreeList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - value
    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: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priority_list_length
    argTypes:
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumPriorityLists(PriorityListLength priority_list_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:255,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    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:262,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    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:268,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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:285,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:286,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 291
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:359,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:362,1
    - Dst: NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - size_class
    - priority_list_length
    argTypes:
    - size_t
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 387
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - absl::bit_width
    - NumPriorityLists
    - TC_ASSERT_LE
    - std::min<size_t>
    - tcmalloc_internal::Span::CalcReciprocal
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::Init(\n    size_t size_class,\n    PriorityListLength
      priority_list_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:395,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:397,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:400,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:401,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:402,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:403,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:404,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:407,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:408,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:416,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:418,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:419,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:427,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:428,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - batch
    - span
    - object_size
    - size_reciprocal
    argTypes:
    - absl::Span<T>
    - Span*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 432
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 2
    functionsReached:
    - absl::Span<T>::size
    - Add
    - Span*::set_nonempty_index
    - ABSL_PREDICT_FALSE
    - absl::bit_width
    - Span*::Allocated
    - Span*::nonempty_index
    - Span*::is_long_lived_span
    - TC_ASSERT_EQ
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Remove
    - RecordSpanUtil
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    - Span*::FreelistPushBatch
    linkageType: ''
    returnType: Span
    signature: "Span * CentralFreeList<Forwarder>::ReleaseToSpans(\n    absl::Span<T>
      batch, Span* span, size_t object_size,\n    uint32_t size_reciprocal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 440
    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: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    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:461,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:480,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:481,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - is_long_lived_span
    - allocated
    - bitwidth
    argTypes:
    - bool
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 7
    functionsReached:
    - std::min<size_t>
    - ASSUME
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t CentralFreeList<Forwarder>::IndexFor(bool is_long_lived_span,\n
      \                                                   uint16_t allocated,\n                                                    uint8_t
      bitwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:489,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - SizeOfList
    - ASSUME
    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:497,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:497,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:503,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:516,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:517,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:518,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:521,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:522,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:542,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:549,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 557
    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>::DeallocateSpans
    - TC_CHECK
    - TC_CHECK_LE
    - BitmapPtrToIdx
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - absl::Span<void*>::empty
    - RecordMultiSpansDeallocated
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::InsertRange(absl::Span<void*> batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:564,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:565,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:568,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 573
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached:
    - clock_frequency
    - std::max<double>
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - absl::Milliseconds
    - LifetimeBucketNum
    - clock_now
    - AllocTime
    - LossyAdd
    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:577,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:577,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:585,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:599,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:604,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:609,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:615,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:620,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:621,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:630,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:631,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:635,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:637,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:639,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 644
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    - Remove
    - TC_ASSERT_EQ
    - absl::Span<void*>::subspan
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - RecordSpanUtil
    - LossyAdd
    - TC_ASSERT_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    - Add
    - absl::bit_width
    - Span*::Allocated
    - Span*::is_long_lived_span
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Span*::set_nonempty_index
    - ABSL_PREDICT_FALSE
    - absl::Span<void*>::empty
    - Span*::nonempty_index
    - TC_ASSERT
    - Span*::FreelistPopBatch
    - TC_ASSERT_LE
    - Span*::start_address
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    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:653,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:656,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:660,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:662,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:667,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:673,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:677,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:678,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 682
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 3
    functionsReached:
    - lock
    - Add
    - Span*::set_nonempty_index
    - RecordSpanUtil
    - ABSL_PREDICT_FALSE
    - absl::bit_width
    - Span*::Allocated
    - Span*::is_long_lived_span
    - TC_ASSERT_EQ
    - RecordSpanAllocated
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - unlock
    - clock_now
    - TC_ASSERT_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    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:687,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:688,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 9
    functionsReached:
    - ABSL_PREDICT_FALSE
    - TC_LOG
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::AllocateSpan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:699,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - in_bytes
    - num_spans
    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:706,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - value
    - SpanStats::num_live_spans
    linkageType: ''
    returnType: SpanStats
    signature: SpanStats CentralFreeList<Forwarder>::GetSpanStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:718,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitwidth
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 721
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT_GT
    - value
    linkageType: ''
    returnType: size_t
    signature: "size_t CentralFreeList<Forwarder>::NumSpansWith(\n    uint16_t bitwidth)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:726,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:727,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:737,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:746,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:747,1
    - Dst: Span*::set_is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:748,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:750,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:751,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:752,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 757
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::HandleLongLivedSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - Add
    - Span*::set_nonempty_index
    - Iter
    - absl::bit_width
    - Span*::nonempty_index
    - Span*::set_is_long_lived_span
    - absl::ToInt64Seconds
    - TC_ASSERT_GE
    - Remove
    - clock_now
    - AllocTime
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::HandleLongLivedSpans()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:765,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:768,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:769,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:773,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:776,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:777,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:782,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 786
    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
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    - printf
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanUtilStats(Printer& out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:790,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:791,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:796,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:800,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:801,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:806,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:809,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:814,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:816,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:819,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 827
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - std::max<double>
    - absl::Milliseconds
    - Iter
    - LifetimeBucketNum
    - value
    - printf
    - clock_now
    - AllocTime
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanLifetimeStats(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:831,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:836,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 841
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintNumSpansUsed(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:845,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:850,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 855
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMoved
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintLongLivedSpansMoved(Printer&
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:861,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:862,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:863,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:869,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:870,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 874
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:882,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:884,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:885,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:886,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 890
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    - value
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:895,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:896,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:901,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:905,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:906,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:912,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:913,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:914,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:917,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:921,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:922,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:923,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 928
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - std::max<double>
    - absl::Milliseconds
    - Iter
    - LifetimeBucketNum
    - CreateSubRegion
    - value
    - PbtxtRegion::PrintI64
    - clock_now
    - AllocTime
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:937,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:938,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:939,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 944
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    - value
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:58,1
    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: 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: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_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: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    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: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    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: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    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:142,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:142,1
    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::central_freelist_internal::CentralFreeList::length
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - value
    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: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: '& forwarder()'
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Forwarder
    signature: Forwarder & forwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priority_list_length
    argTypes:
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumPriorityLists(PriorityListLength priority_list_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:233,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - LossyAdd
    - TC_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:255,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    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:262,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    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:268,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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:285,1
    - Dst: std::upper_bound
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:286,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 291
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:355,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:359,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:361,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:362,1
    - Dst: NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:363,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:377,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - size_class
    - priority_list_length
    argTypes:
    - size_t
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 387
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - absl::bit_width
    - NumPriorityLists
    - TC_ASSERT_LE
    - std::min<size_t>
    - tcmalloc_internal::Span::CalcReciprocal
    - class_to_pages
    - class_to_size
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::Init(\n    size_t size_class,\n    PriorityListLength
      priority_list_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:394,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:395,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:396,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:397,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:400,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:401,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:402,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:403,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:404,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:407,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:408,1
    - Dst: absl::Span<T>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:414,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:415,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:416,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:418,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:419,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:425,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:427,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:428,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - batch
    - span
    - object_size
    - size_reciprocal
    argTypes:
    - absl::Span<T>
    - Span*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 432
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 3
    functionsReached:
    - absl::Span<T>::size
    - Add
    - Span*::set_nonempty_index
    - ABSL_PREDICT_FALSE
    - absl::bit_width
    - Span*::Allocated
    - Span*::nonempty_index
    - Span*::is_long_lived_span
    - TC_ASSERT_EQ
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Remove
    - RecordSpanUtil
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
    - Span*::FreelistPushBatch
    linkageType: ''
    returnType: Span
    signature: "Span * CentralFreeList<Forwarder>::ReleaseToSpans(\n    absl::Span<T>
      batch, Span* span, size_t object_size,\n    uint32_t size_reciprocal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeekLeast
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetFirstNonEmptyIndex
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 440
    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: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    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:461,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:480,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:481,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - is_long_lived_span
    - allocated
    - bitwidth
    argTypes:
    - bool
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 10
    functionsReached:
    - std::min<size_t>
    - ASSUME
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t CentralFreeList<Forwarder>::IndexFor(bool is_long_lived_span,\n
      \                                                   uint16_t allocated,\n                                                    uint8_t
      bitwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:489,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:490,1
    - Dst: SizeOfList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached:
    - SizeOfList
    - ASSUME
    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:497,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:497,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:498,1
    - Dst: MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:503,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:507,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:516,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:517,1
    - Dst: BitmapPtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:518,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:521,1
    - Dst: PtrToIdx
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:522,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:535,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:542,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:543,1
    - Dst: RecordMultiSpansDeallocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:549,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:550,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:554,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 557
    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>::DeallocateSpans
    - TC_CHECK
    - TC_CHECK_LE
    - BitmapPtrToIdx
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - absl::MakeSpan
    - absl::Span<void*>::empty
    - RecordMultiSpansDeallocated
    - tcmalloc_internal::Span::UseBitmapForSize
    - PtrToIdx
    - MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::ReleaseToSpans
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::InsertRange(absl::Span<void*> batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:564,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:565,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:566,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:568,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:569,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 573
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 8
    functionsReached:
    - clock_frequency
    - std::max<double>
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::DeallocateSpans
    - absl::Milliseconds
    - LifetimeBucketNum
    - clock_now
    - AllocTime
    - LossyAdd
    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:577,1
    - Dst: absl::Span<void*>::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:577,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:581,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:582,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:585,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:598,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:599,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:600,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:604,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:605,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:606,1
    - Dst: Span*::FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: absl::Span<void*>::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:607,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:609,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:614,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:615,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:617,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:618,1
    - Dst: Span*::FreelistEmpty
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:620,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:621,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:627,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:629,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:630,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:631,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:635,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:637,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:638,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:639,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:640,1
    - Dst: UpdateObjectCounts
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 644
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::FirstNonEmptySpan
    - Remove
    - TC_ASSERT_EQ
    - absl::Span<void*>::subspan
    - UpdateObjectCounts
    - absl::Span<void*>::size
    - RecordSpanUtil
    - LossyAdd
    - TC_ASSERT_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    - Add
    - absl::bit_width
    - Span*::Allocated
    - Span*::is_long_lived_span
    - Span*::FreelistEmpty
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - Span*::set_nonempty_index
    - ABSL_PREDICT_FALSE
    - absl::Span<void*>::empty
    - Span*::nonempty_index
    - TC_ASSERT
    - Span*::FreelistPopBatch
    - TC_ASSERT_LE
    - Span*::start_address
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    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:653,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:655,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:656,1
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:660,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:662,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:663,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:667,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: Span*::Allocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:671,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:672,1
    - Dst: RecordSpanUtil
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:673,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Span*::is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:676,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:677,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:678,1
    - Dst: RecordSpanAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - batch
    argTypes:
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 682
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 4
    functionsReached:
    - lock
    - Add
    - Span*::set_nonempty_index
    - RecordSpanUtil
    - ABSL_PREDICT_FALSE
    - absl::bit_width
    - Span*::Allocated
    - Span*::is_long_lived_span
    - TC_ASSERT_EQ
    - RecordSpanAllocated
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::IndexFor
    - unlock
    - clock_now
    - TC_ASSERT_GT
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    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:687,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:688,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 12
    functionsReached:
    - ABSL_PREDICT_FALSE
    - TC_LOG
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::AllocateSpan
    linkageType: ''
    returnType: Span
    signature: Span * CentralFreeList<Forwarder>::AllocateSpan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:696,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:699,1
    - Dst: num_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::OverheadBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - in_bytes
    - num_spans
    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:706,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:709,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:710,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - static_cast<size_t>
    - value
    - SpanStats::num_live_spans
    linkageType: ''
    returnType: SpanStats
    signature: SpanStats CentralFreeList<Forwarder>::GetSpanStats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:718,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitwidth
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 721
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 6
    functionsReached:
    - TC_ASSERT_GT
    - value
    linkageType: ''
    returnType: size_t
    signature: "size_t CentralFreeList<Forwarder>::NumSpansWith(\n    uint16_t bitwidth)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:726,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:727,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:731,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:734,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:737,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:746,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:747,1
    - Dst: Span*::set_is_long_lived_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:748,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:749,1
    - Dst: Span*::nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:750,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:751,1
    - Dst: Span*::set_nonempty_index
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:752,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 757
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::HandleLongLivedSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - Add
    - Span*::set_nonempty_index
    - Iter
    - absl::bit_width
    - Span*::nonempty_index
    - Span*::set_is_long_lived_span
    - absl::ToInt64Seconds
    - TC_ASSERT_GE
    - Remove
    - clock_now
    - AllocTime
    - LossyAdd
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::HandleLongLivedSpans()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:761,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:763,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:765,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:768,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:769,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:771,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:773,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:776,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:777,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:780,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:782,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 786
    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
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    - printf
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanUtilStats(Printer& out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:790,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:791,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:796,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:798,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:800,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:801,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:806,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:809,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:811,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:814,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:816,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:819,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:820,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:823,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 827
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - std::max<double>
    - absl::Milliseconds
    - Iter
    - LifetimeBucketNum
    - value
    - printf
    - clock_now
    - AllocTime
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintSpanLifetimeStats(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:831,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:834,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:836,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 841
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintNumSpansUsed(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:845,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:848,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:850,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 855
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMoved
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - printf
    - value
    linkageType: ''
    returnType: void
    signature: void CentralFreeList<Forwarder>::PrintLongLivedSpansMoved(Printer&
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:861,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:862,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:863,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:864,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:869,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:870,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:871,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 874
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansWith
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::NumSpansInList
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:882,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:884,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:885,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:886,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 890
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    - value
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt(\n    PbtxtRegion&
      region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:895,1
    - Dst: clock_frequency
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:896,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:901,1
    - Dst: std::max<double>
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: AllocTime
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:903,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:905,1
    - Dst: LifetimeBucketNum
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:906,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:912,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:913,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:914,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:917,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:921,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:922,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:923,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 928
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - clock_frequency
    - std::max<double>
    - absl::Milliseconds
    - Iter
    - LifetimeBucketNum
    - CreateSubRegion
    - value
    - PbtxtRegion::PrintI64
    - clock_now
    - AllocTime
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:937,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:938,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:939,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/central_freelist.h:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 944
    functionName: tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - PbtxtRegion::PrintI64
    - value
    linkageType: ''
    returnType: void
    signature: "void CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt(\n
      \   PbtxtRegion& region)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Sampler::HotDataOffset
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:71,1
    - Dst: static_cast<Sampler*>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:74,1
    - Dst: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:74,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:109,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:116,1
    - Dst: has_explicit_alignment
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:118,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:119,1
    - Dst: size_returning
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:124,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:125,1
    - Dst: access
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:125,1
    - Dst: token_id
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:127,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:132,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:139,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:140,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:140,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:141,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:141,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:143,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:144,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:146,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:147,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:148,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:151,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:151,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:152,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:156,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:156,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:157,1
    - Dst: size_returning
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:164,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:168,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:178,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:178,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:184,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:194,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:196,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:196,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:201,1
    - Dst: AllocHandle
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:205,1
    - Dst: sampled_alloc_handle_generator::fetch_add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:205,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:208,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:209,1
    - Dst: allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:211,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:214,1
    - Dst: sampled_internal_fragmentation_::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:216,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:226,1
    - Dst: MallocHook::InvokeSampledNewHook
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:232,1
    - Dst: allocation_samples::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:234,1
    - Dst: deallocation_samples::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:236,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:242,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:242,1
    - Dst: Sample
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:245,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:247,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:252,1
    - Dst: FreeProxyObject
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:253,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:255,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:255,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:255,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:257,1
    - Dst: SampleifyAllocation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:269,1
    - Dst: SampleifyAllocation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:277,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:295,1
    - Dst: Unsample
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:305,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:307,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:307,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:308,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:314,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:315,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:317,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:317,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:322,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:329,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:329,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:329,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:337,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:339,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:341,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:344,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:345,1
    - Dst: SimplifyType
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:350,1
    - Dst: allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:350,1
    - Dst: SimplifyType
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:352,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:353,1
    - Dst: ReportMismatchedFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:354,1
    - Dst: allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:357,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:365,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:365,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:368,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:369,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:370,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:377,1
    - Dst: SampledAllocation*::sampled_stack::requested_alignment::value_or
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:378,1
    - Dst: has_explicit_alignment
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:381,1
    - Dst: std::make_optional<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:382,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:382,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:385,1
    - Dst: allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:386,1
    - Dst: allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:388,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:393,1
    - Dst: ReportMismatchedFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:394,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:397,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:405,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:415,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:420,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:423,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:429,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:429,1
    - Dst: sampled_internal_fragmentation_::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:431,1
    - Dst: MallocHook::InvokeSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:433,1
    - Dst: deallocation_samples::ReportFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:435,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:438,1
    - Dst: AccessFromPointer
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:440,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:441,1
    - Dst: auto::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:442,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:444,1
    - Dst: auto::AccessAsHot
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:445,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:447,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:448,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:448,1
    - Dst: FreeProxyObject
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:449,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 453
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Sampler::HotDataOffset
    - token_id
    - ReportMismatchedFree
    - AccessFromPointer
    - per_size_class_counts
    - PageIdContaining
    - tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    - sizemap
    - TC_ASSERT_GE
    - auto::AccessAsCold
    - CppPolicy
    - TC_ASSERT_EQ
    - access
    - static_cast<Sampler*>
    - std::make_optional<std::align_val_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - peak_heap_tracker
    - std::move
    - sampled_internal_fragmentation_::value
    - allocation_samples::ReportMalloc
    - has_explicit_alignment
    - IsExpandedSizeClass
    - first_page
    - SampleifyAllocation
    - Length
    - absl::Now
    - Range
    - FreeProxyObject
    - sampled_alloc_handle_generator::fetch_add
    - allocation_type
    - TC_ASSERT_GT
    - align
    - TC_ASSERT_NE
    - pagemap
    - SampledAllocation*::sampled_stack::requested_alignment::value_or
    - Add
    - AllocHandle
    - size_returning
    - Unsample
    - absl::MakeSpan
    - deallocation_samples::ReportFree
    - sampled_allocation_recorder
    - IsNormalMemory
    - ABSL_UNREACHABLE
    - has_value
    - static_cast<size_t>
    - SimplifyType
    - MallocHook::InvokeSampledNewHook
    - static_cast<std::align_val_t>
    - static_cast<double>
    - sampled_internal_fragmentation_::Add
    - TC_CHECK
    - static_cast<uint8_t>
    - guardedpage_allocator
    - GetMemoryTag
    - ReportCorruptedFree
    - tcmalloc_internal::Span::New
    - ABSL_PREDICT_FALSE
    - PageIdContainingTagged
    - page_allocator
    - ABSL_PREDICT_TRUE
    - BytesToLengthCeil
    - MallocHook::InvokeSampledDeleteHook
    - start_address
    - auto::AccessAsHot
    - deallocation_samples::ReportMalloc
    - ReportMismatchedDelete
    - bytes_in_span
    - TC_ASSERT
    - Sample
    - TC_ASSERT_LE
    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:71,1
    - Dst: static_cast<Sampler*>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:74,1
    - Dst: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: GetThreadSampler
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Sampler::HotDataOffset
    - static_cast<Sampler*>
    - tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    linkageType: ''
    returnType: Sampler
    signature: Sampler & GetThreadSampler()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:109,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:116,1
    - Dst: Policy::has_explicit_alignment
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:118,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:119,1
    - Dst: Policy::size_returning
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:124,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:125,1
    - Dst: Policy::access
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:125,1
    - Dst: Policy::token_id
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:127,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:132,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:139,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:140,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:140,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:141,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:141,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:143,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:144,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:146,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:147,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:148,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:151,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:151,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:152,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:156,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:156,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:157,1
    - Dst: Policy::size_returning
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:164,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:168,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:178,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:178,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:184,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:194,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:196,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:196,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:201,1
    - Dst: AllocHandle
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:205,1
    - Dst: sampled_alloc_handle_generator::fetch_add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:205,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:208,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:209,1
    - Dst: Policy::allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:211,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:214,1
    - Dst: sampled_internal_fragmentation_::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:216,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:226,1
    - Dst: MallocHook::InvokeSampledNewHook
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:232,1
    - Dst: allocation_samples::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:234,1
    - Dst: deallocation_samples::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:236,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:242,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:242,1
    - Dst: Sample
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:245,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:247,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:252,1
    - Dst: FreeProxyObject
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:253,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:255,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:255,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:255,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:257,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 7
    argNames:
    - ' state'
    - policy
    - requested_size
    - weight
    - size_class
    - absl_nullable
    - absl_nullable
    argTypes:
    - Static
    - Policy
    - size_t
    - size_t
    - size_t
    - void*
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 259
    functionName: sized_ptr_t::SampleifyAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - Policy::align
    - per_size_class_counts
    - PageIdContaining
    - sizemap
    - Policy::token_id
    - TC_ASSERT_EQ
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - peak_heap_tracker
    - std::move
    - allocation_samples::ReportMalloc
    - IsExpandedSizeClass
    - first_page
    - Policy::size_returning
    - Length
    - absl::Now
    - Range
    - FreeProxyObject
    - sampled_alloc_handle_generator::fetch_add
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    - Policy::access
    - pagemap
    - Add
    - AllocHandle
    - absl::MakeSpan
    - sampled_allocation_recorder
    - IsNormalMemory
    - MallocHook::InvokeSampledNewHook
    - static_cast<double>
    - sampled_internal_fragmentation_::Add
    - TC_CHECK
    - static_cast<uint8_t>
    - guardedpage_allocator
    - GetMemoryTag
    - Policy::has_explicit_alignment
    - tcmalloc_internal::Span::New
    - Policy::allocation_type
    - PageIdContainingTagged
    - page_allocator
    - BytesToLengthCeil
    - start_address
    - deallocation_samples::ReportMalloc
    - bytes_in_span
    - TC_ASSERT
    - Sample
    - TC_ASSERT_LE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE sized_ptr_t SampleifyAllocation(\n    Static&
      state, Policy policy, size_t requested_size, size_t weight,\n    size_t size_class,
      void* absl_nullable obj, Span* absl_nullable span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SampleifyAllocation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:269,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: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    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:277,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: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - Profile::Sample::AllocationType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: SimplifyType
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 1
    functionsReached:
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: Profile::Sample::AllocationType
    signature: "Profile::Sample::AllocationType SimplifyType(\n    Profile::Sample::AllocationType
      type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Unsample
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:305,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:307,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:307,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:308,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:314,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:315,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:317,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:317,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:322,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:329,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:329,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:329,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:337,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:339,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:341,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:344,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:345,1
    - Dst: SimplifyType
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:350,1
    - Dst: Policy::allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:350,1
    - Dst: SimplifyType
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:352,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:353,1
    - Dst: ReportMismatchedFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:354,1
    - Dst: Policy::allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:356,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:357,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:365,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:365,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:368,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:369,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:370,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:377,1
    - Dst: SampledAllocation*::sampled_stack::requested_alignment::value_or
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:378,1
    - Dst: Policy::has_explicit_alignment
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:381,1
    - Dst: std::make_optional<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:382,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:382,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:385,1
    - Dst: Policy::allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:386,1
    - Dst: Policy::allocation_type
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:388,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:393,1
    - Dst: ReportMismatchedFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:394,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:397,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:405,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:415,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:420,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:423,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:429,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:429,1
    - Dst: sampled_internal_fragmentation_::Add
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:431,1
    - Dst: MallocHook::InvokeSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:433,1
    - Dst: deallocation_samples::ReportFree
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:435,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:438,1
    - Dst: AccessFromPointer
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:440,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:441,1
    - Dst: auto::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:442,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:444,1
    - Dst: auto::AccessAsHot
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:445,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:447,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:448,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:448,1
    - Dst: FreeProxyObject
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.h:449,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 5
    argNames:
    - ' state'
    - policy
    - absl_nonnull
    - size
    - ' span'
    argTypes:
    - Static
    - Policy
    - void*
    - std::optional<size_t>
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 451
    functionName: MaybeUnsampleAllocation
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.h
    functionUses: 0
    functionsReached:
    - ReportMismatchedFree
    - Policy::align
    - AccessFromPointer
    - sizemap
    - TC_ASSERT_LE
    - TC_ASSERT_GE
    - auto::AccessAsCold
    - CppPolicy
    - TC_ASSERT_EQ
    - std::make_optional<std::align_val_t>
    - sampled_internal_fragmentation_::value
    - FreeProxyObject
    - std::optional<size_t>::has_value
    - pagemap
    - SampledAllocation*::sampled_stack::requested_alignment::value_or
    - Unsample
    - absl::MakeSpan
    - deallocation_samples::ReportFree
    - sampled_allocation_recorder
    - static_cast<std::align_val_t>
    - SimplifyType
    - static_cast<double>
    - ReportCorruptedFree
    - sampled_internal_fragmentation_::Add
    - Policy::has_explicit_alignment
    - ABSL_PREDICT_FALSE
    - Policy::allocation_type
    - PageIdContainingTagged
    - MallocHook::InvokeSampledDeleteHook
    - ABSL_PREDICT_TRUE
    - auto::AccessAsHot
    - start_address
    - ReportMismatchedDelete
    - bytes_in_span
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: "void MaybeUnsampleAllocation(Static& state, Policy policy,\n                             void*
      absl_nonnull ptr, std::optional<size_t> size,\n                             Span&
      span)"
  - 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:
    - HookList::HookList
    - InvokeSampledNewHookSlow
    - InvokeSampledDeleteHookSlow
    - empty
    - InvokeDeleteHookSlow
    - InvokeNewHookSlow
    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:
    - empty
    - MallocHook::InvokeNewHookSlow
    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:
    - empty
    - MallocHook::InvokeDeleteHookSlow
    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: 2
    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:
    - size
    - reinterpret_cast<void*>
    - resize
    - HugeLength::in_bytes
    - TC_CHECK_EQ
    - NHugePages
    - HLFromBytes
    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:
    - size
    - reinterpret_cast<void*>
    - resize
    - HugeLength::in_bytes
    - TC_CHECK_EQ
    - NHugePages
    - HLFromBytes
    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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:176,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:179,1
    - Dst: SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:179,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:183,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:184,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:186,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:187,1
    - Dst: FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:188,1
    - Dst: MaybeRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:192,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:198,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:199,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:203,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:206,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:209,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:209,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:215,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:216,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:218,1
    - Dst: reinterpret_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:227,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:234,1
    - Dst: dealloc_count::fetch_add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:239,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:240,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:246,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:248,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:251,1
    - Dst: WriteOverflowOccurred
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:257,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:264,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:264,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:267,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:271,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:271,1
    - Dst: SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:273,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:275,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:278,1
    - Dst: FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:283,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:287,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:287,1
    - Dst: AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    - Dst: GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:294,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:294,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:295,1
    - Dst: GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:296,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:303,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:303,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:304,1
    - Dst: GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:305,1
    - Dst: GetErrorType
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:308,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:314,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:315,1
    - Dst: std::ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:319,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:319,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:320,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:325,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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:349,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:351,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:353,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:356,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:358,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:360,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:365,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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:374,1
    - Dst: load
      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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:378,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:379,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:379,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:386,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:387,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:387,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:392,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:397,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:398,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:398,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:399,1
    - Dst: reinterpret_cast<SlotMetadata*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:404,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:405,1
    - Dst: SlotMetadata::SlotMetadata
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:407,1
    - Dst: GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:414,1
    - Dst: GetNumAvailablePages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:423,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:424,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:427,1
    - Dst: GetFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:429,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:430,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:430,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:431,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: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:440,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:441,1
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:447,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:449,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:451,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:452,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:457,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:458,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:458,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:461,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:461,1
    - Dst: AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:489,1
    - Dst: GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:489,1
    - Dst: GetNearestValidPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:489,1
    - Dst: ShouldRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:493,1
    - Dst: GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:494,1
    - Dst: SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:497,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:498,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:500,1
    - Dst: dealloc_count::load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:508,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:525,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:531,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:532,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:534,1
    - Dst: ShouldRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:541,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:543,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:552,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:552,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:553,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:553,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:554,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:558,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:558,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:563,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:564,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:564,1
    - Dst: GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:565,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:566,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 229
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 570
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - GetBit
    - absl::bit_cast<void*>
    - memcpy
    - BytesToLengthFloor
    - SetBit
    - TC_CHECK_GT
    - TC_CHECK_EQ
    - TC_ASSERT_EQ
    - Contains
    - GetErrorType
    - GetFreeSlot
    - arena
    - reinterpret_cast<uint8_t*>
    - std::max
    - ABSL_PREDICT_FALSE
    - SlotToAddr
    - FindClearBackwards
    - ForceTouchPage
    - PrintI64
    - printf
    - static_cast<size_t>
    - ClearBit
    - system_allocator
    - GetPageAddr
    - PageIdContaining
    - Allocate
    - absl::base_internal::GetTID
    - std::ceil
    - Length
    - Range
    - DecayAll
    - GetPageSize
    - mprotect
    - static_cast<double>
    - GetChainedInterval
    - ReportCorruptedFree
    - AddrToSlot
    - total_sampled_count_::value
    - Reset
    - absl::bit_ceil
    - dealloc_count::fetch_add
    - MapPages
    - SlotMetadata::SlotMetadata
    - TC_ASSERT_LT
    - TC_CHECK_LE
    - memset
    - Decay
    - absl::base_internal::CycleClock::Now
    - std::min
    - LossyAdd
    - GetNumAvailablePages
    - absl::has_single_bit
    - Add
    - FreeSlot
    - Next
    - static_cast<std::align_val_t>
    - munmap
    - MaybeRightAlign
    - load
    - successful_allocations
    - dealloc_count::store
    - TC_ASSERT
    - reinterpret_cast<SlotMetadata*>
    - GetNearestValidPage
    - PointerIsMine
    - GetNearestSlot
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - allocated_pages
    - ShouldRightAlign
    - dealloc_count::load
    - static_cast<uint64_t>
    - total_sampled_count_::Add
    - TC_ASSERT_NE
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - reinterpret_cast<void*>
    - pagemap
    - store
    - reinterpret_cast<volatile char*>
    - reinterpret_cast<uintptr_t>
    - WriteOverflowOccurred
    - FindClear
    - value
    - GetWriteOverflowMagic
    - ReserveFreeSlot
    - TC_ASSERT_LE
    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:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_LE
    - tcmalloc_internal::GuardedPageAllocator::MapPages
    - tcmalloc_internal::GuardedPageAllocator::Reset
    - GetPageSize
    - absl::base_internal::CycleClock::Now
    - TC_CHECK_GT
    - static_cast<uint64_t>
    - TC_ASSERT_EQ
    - std::max
    - static_cast<size_t>
    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:
    - TC_ASSERT_NE
    - reinterpret_cast<void*>
    - 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:
    - Add
    - DecayAll
    - total_sampled_count_::value
    - 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
    - std::align_val_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:
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - Add
    - Contains
    - Decay
    - total_sampled_count_::value
    - tcmalloc_internal::GuardedPageAllocator::successful_allocations
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - Length
    - Next
    - tcmalloc_internal::GuardedPageAllocator::Allocate
    linkageType: ''
    returnType: GuardedAllocWithStatus
    signature: "GuardedAllocWithStatus GuardedPageAllocator::TrySample(\n    size_t
      size, std::align_val_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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:176,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:179,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:179,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:183,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:184,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:186,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:187,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:188,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:192,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:198,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:199,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:203,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:206,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:209,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:209,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:215,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:216,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - size
    - alignment
    - ' stack_trace'
    argTypes:
    - size_t
    - std::align_val_t
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::GuardedPageAllocator::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - TC_ASSERT_LE
    - tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
    - absl::base_internal::GetTID
    - tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
    - LossyAdd
    - absl::has_single_bit
    - reinterpret_cast<void*>
    - Add
    - static_cast<std::align_val_t>
    - std::max
    - mprotect
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::GuardedPageAllocator::FreeSlot
    - dealloc_count::store
    - TC_ASSERT
    - static_cast<size_t>
    linkageType: ''
    returnType: GuardedAllocWithStatus
    signature: "GuardedAllocWithStatus GuardedPageAllocator::Allocate(\n    size_t
      size, std::align_val_t alignment, const StackTrace& stack_trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    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:232,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:234,1
    - Dst: dealloc_count::fetch_add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:239,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:240,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:246,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:248,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:251,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:257,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:264,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:264,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:267,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:271,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:271,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:273,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:275,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:278,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 284
    functionName: tcmalloc_internal::GuardedPageAllocator::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - TC_CHECK_EQ
    - absl::base_internal::GetTID
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - reinterpret_cast<void*>
    - Add
    - static_cast<std::align_val_t>
    - mprotect
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
    - tcmalloc_internal::GuardedPageAllocator::FreeSlot
    - ForceTouchPage
    - TC_ASSERT
    - dealloc_count::fetch_add
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Deallocate(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:287,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:287,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::GuardedPageAllocator::GetRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - TC_ASSERT
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    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:294,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:294,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:295,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: tcmalloc_internal::GuardedPageAllocator::GetAllocationOffsetAndSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - reinterpret_cast<uintptr_t>
    - 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:303,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:303,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:304,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:305,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetErrorType
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - alloc_trace
    - dealloc_trace
    argTypes:
    - void*
    - GuardedAllocationsStackTrace**
    - GuardedAllocationsStackTrace**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::GuardedPageAllocator::GetStackTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    - tcmalloc_internal::GuardedPageAllocator::GetErrorType
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - 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:314,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:315,1
    - Dst: std::ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:319,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:319,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: tcmalloc_internal::GetChainedInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - std::ceil
    - static_cast<double>
    linkageType: ''
    returnType: int
    signature: int GetChainedInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:325,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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:349,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:351,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:353,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:356,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:358,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 361
    functionName: tcmalloc_internal::GuardedPageAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - value
    - printf
    - GetChainedInterval
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:365,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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:374,1
    - Dst: load
      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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:378,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:379,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' gwp_asan'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 380
    functionName: tcmalloc_internal::GuardedPageAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - value
    - PrintI64
    - GetChainedInterval
    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:386,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:387,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:387,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:392,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:397,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:398,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:398,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:399,1
    - Dst: reinterpret_cast<SlotMetadata*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:404,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:405,1
    - Dst: SlotMetadata::SlotMetadata
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:407,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 417
    functionName: tcmalloc_internal::GuardedPageAllocator::MapPages
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - SlotMetadata::SlotMetadata
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - pagemap
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - system_allocator
    - GetPageSize
    - BytesToLengthFloor
    - PageIdContaining
    - arena
    - Range
    - TC_ASSERT
    - TC_ASSERT_EQ
    - reinterpret_cast<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:423,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:424,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:427,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:429,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:430,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:430,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:431,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: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:440,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 444
    functionName: tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - store
    - GetBit
    - Add
    - tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
    - load
    - SetBit
    - tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
    - TC_ASSERT
    - LossyAdd
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t GuardedPageAllocator::ReserveFreeSlot()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:447,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:449,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:451,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - FindClear
    - FindClearBackwards
    - TC_ASSERT_LT
    - Next
    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:457,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:458,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:458,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:461,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: tcmalloc_internal::GuardedPageAllocator::FreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - GetBit
    - store
    - ClearBit
    - load
    - TC_ASSERT
    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: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    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: 486
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 486
    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:489,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:489,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - 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:493,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:494,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:497,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:498,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 503
    functionName: tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    - reinterpret_cast<uint8_t*>
    - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    - std::min
    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:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - addr
    - ' d'
    argTypes:
    - uintptr_t
    - SlotMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 522
    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:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 527
    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:531,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:532,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 536
    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:541,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:543,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:552,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:552,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:553,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:553,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:554,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:558,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:558,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:563,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:564,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:564,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:565,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - slot
    - size
    - alignment
    - ptr
    argTypes:
    - size_t
    - size_t
    - std::align_val_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 567
    functionName: tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - memset
    - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    - absl::bit_ceil
    - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: "void GuardedPageAllocator::MaybeRightAlign(size_t slot, size_t size,\n
      \                                          std::align_val_t alignment,\n                                           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:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_LE
    - tcmalloc_internal::GuardedPageAllocator::MapPages
    - tcmalloc_internal::GuardedPageAllocator::Reset
    - GetPageSize
    - absl::base_internal::CycleClock::Now
    - TC_CHECK_GT
    - static_cast<uint64_t>
    - TC_ASSERT_EQ
    - std::max
    - static_cast<size_t>
    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:
    - TC_ASSERT_NE
    - reinterpret_cast<void*>
    - 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:
    - Add
    - DecayAll
    - total_sampled_count_::value
    - 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
    - std::align_val_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:
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - Add
    - Contains
    - Decay
    - total_sampled_count_::value
    - tcmalloc_internal::GuardedPageAllocator::successful_allocations
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - Length
    - Next
    - tcmalloc_internal::GuardedPageAllocator::Allocate
    linkageType: ''
    returnType: GuardedAllocWithStatus
    signature: "GuardedAllocWithStatus GuardedPageAllocator::TrySample(\n    size_t
      size, std::align_val_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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:176,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:177,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:178,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:179,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:179,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:183,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:184,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:186,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:187,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:188,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:192,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:198,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:199,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:203,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:206,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:209,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:209,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:210,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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:215,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:216,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - size
    - alignment
    - ' stack_trace'
    argTypes:
    - size_t
    - std::align_val_t
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::GuardedPageAllocator::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - TC_ASSERT_LE
    - tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
    - absl::base_internal::GetTID
    - tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
    - LossyAdd
    - absl::has_single_bit
    - reinterpret_cast<void*>
    - Add
    - static_cast<std::align_val_t>
    - std::max
    - mprotect
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::GuardedPageAllocator::FreeSlot
    - dealloc_count::store
    - TC_ASSERT
    - static_cast<size_t>
    linkageType: ''
    returnType: GuardedAllocWithStatus
    signature: "GuardedAllocWithStatus GuardedPageAllocator::Allocate(\n    size_t
      size, std::align_val_t alignment, const StackTrace& stack_trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    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:232,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:232,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:233,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:234,1
    - Dst: dealloc_count::fetch_add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:239,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:240,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:246,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:248,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:251,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:257,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:263,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:264,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:264,1
    - Dst: ForceTouchPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:267,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:271,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:271,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:273,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:275,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:278,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::FreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 284
    functionName: tcmalloc_internal::GuardedPageAllocator::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - TC_CHECK_EQ
    - absl::base_internal::GetTID
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - reinterpret_cast<void*>
    - Add
    - static_cast<std::align_val_t>
    - mprotect
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
    - tcmalloc_internal::GuardedPageAllocator::FreeSlot
    - ForceTouchPage
    - TC_ASSERT
    - dealloc_count::fetch_add
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Deallocate(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:287,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:287,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::AddrToSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::GuardedPageAllocator::GetRequestedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - TC_ASSERT
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    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:294,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:294,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:295,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: tcmalloc_internal::GuardedPageAllocator::GetAllocationOffsetAndSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - reinterpret_cast<uintptr_t>
    - 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:303,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:303,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:304,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:305,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetErrorType
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - alloc_trace
    - dealloc_trace
    argTypes:
    - void*
    - GuardedAllocationsStackTrace**
    - GuardedAllocationsStackTrace**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::GuardedPageAllocator::GetStackTraces
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    - tcmalloc_internal::GuardedPageAllocator::GetErrorType
    - tcmalloc_internal::GuardedPageAllocator::PointerIsMine
    - 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:314,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:315,1
    - Dst: std::ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:319,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:319,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: tcmalloc_internal::GetChainedInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - std::ceil
    - static_cast<double>
    linkageType: ''
    returnType: int
    signature: int GetChainedInterval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:325,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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:349,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:351,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:353,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:356,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:358,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 361
    functionName: tcmalloc_internal::GuardedPageAllocator::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - value
    - printf
    - GetChainedInterval
    linkageType: ''
    returnType: void
    signature: void GuardedPageAllocator::Print(Printer& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:364,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:365,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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:371,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:372,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:373,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:374,1
    - Dst: load
      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: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:377,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:378,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:379,1
    - Dst: GetChainedInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' gwp_asan'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 380
    functionName: tcmalloc_internal::GuardedPageAllocator::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::GuardedPageAllocator::allocated_pages
    - value
    - PrintI64
    - GetChainedInterval
    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:386,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:387,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:387,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:390,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:392,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:396,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:397,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:398,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:398,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:399,1
    - Dst: reinterpret_cast<SlotMetadata*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:404,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:405,1
    - Dst: SlotMetadata::SlotMetadata
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:407,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 417
    functionName: tcmalloc_internal::GuardedPageAllocator::MapPages
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - SlotMetadata::SlotMetadata
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - pagemap
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - system_allocator
    - GetPageSize
    - BytesToLengthFloor
    - PageIdContaining
    - arena
    - Range
    - TC_ASSERT
    - TC_ASSERT_EQ
    - reinterpret_cast<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:423,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:424,1
    - Dst: LossyAdd
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:427,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:429,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:430,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:430,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:431,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: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:440,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 444
    functionName: tcmalloc_internal::GuardedPageAllocator::ReserveFreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - store
    - GetBit
    - Add
    - tcmalloc_internal::GuardedPageAllocator::GetNumAvailablePages
    - load
    - SetBit
    - tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
    - TC_ASSERT
    - LossyAdd
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t GuardedPageAllocator::ReserveFreeSlot()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:447,1
    - Dst: FindClearBackwards
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:449,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:451,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: tcmalloc_internal::GuardedPageAllocator::GetFreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - FindClear
    - FindClearBackwards
    - TC_ASSERT_LT
    - Next
    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:457,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:458,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:458,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:459,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:461,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: tcmalloc_internal::GuardedPageAllocator::FreeSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 4
    functionsReached:
    - TC_ASSERT_LT
    - GetBit
    - store
    - ClearBit
    - load
    - TC_ASSERT
    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: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    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: 486
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 486
    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:489,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetPageAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:489,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestValidPage
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::GetPageAddr
    - tcmalloc_internal::GuardedPageAllocator::AddrToSlot
    - 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:493,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:494,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::SlotToAddr
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:497,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:498,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 503
    functionName: tcmalloc_internal::GuardedPageAllocator::WriteOverflowOccurred
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::GuardedPageAllocator::SlotToAddr
    - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    - reinterpret_cast<uint8_t*>
    - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    - std::min
    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:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - addr
    - ' d'
    argTypes:
    - uintptr_t
    - SlotMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 522
    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:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 527
    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:531,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:532,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 536
    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:541,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:543,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:552,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:552,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:553,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:553,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:554,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:558,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:558,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:563,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:564,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:564,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:565,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - slot
    - size
    - alignment
    - ptr
    argTypes:
    - size_t
    - size_t
    - std::align_val_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 567
    functionName: tcmalloc_internal::GuardedPageAllocator::MaybeRightAlign
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - memset
    - tcmalloc_internal::GuardedPageAllocator::ShouldRightAlign
    - absl::bit_ceil
    - tcmalloc_internal::GuardedPageAllocator::GetWriteOverflowMagic
    - std::min
    - std::max
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: "void GuardedPageAllocator::MaybeRightAlign(size_t slot, size_t size,\n
      \                                          std::align_val_t alignment,\n                                           void**
      ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:41,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:44,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:49,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:50,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:79,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:104,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - SegvHandler
    - reinterpret_cast<void*>
    - guardedpage_allocator
    - getpid
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - syscall
    - EXPECT_GT
    - ASSERT_NE
    - printf
    - GTEST_SKIP
    - mmap
    - sigaction
    - static_cast<char*>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:41,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:44,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:49,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:50,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:79,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:104,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - SegvHandler
    - reinterpret_cast<void*>
    - guardedpage_allocator
    - getpid
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - syscall
    - EXPECT_GT
    - ASSERT_NE
    - printf
    - GTEST_SKIP
    - mmap
    - sigaction
    - static_cast<char*>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:41,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:44,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:49,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:50,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:79,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:104,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - SegvHandler
    - reinterpret_cast<void*>
    - guardedpage_allocator
    - getpid
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - syscall
    - EXPECT_GT
    - ASSERT_NE
    - printf
    - GTEST_SKIP
    - mmap
    - sigaction
    - static_cast<char*>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:41,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:44,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:49,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:50,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:79,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:104,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - SegvHandler
    - reinterpret_cast<void*>
    - guardedpage_allocator
    - getpid
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - syscall
    - EXPECT_GT
    - ASSERT_NE
    - printf
    - GTEST_SKIP
    - mmap
    - sigaction
    - static_cast<char*>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:41,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:44,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:49,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:50,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:79,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:104,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - SegvHandler
    - reinterpret_cast<void*>
    - guardedpage_allocator
    - getpid
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - syscall
    - EXPECT_GT
    - ASSERT_NE
    - printf
    - GTEST_SKIP
    - mmap
    - sigaction
    - static_cast<char*>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:41,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:44,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:49,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:50,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:79,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:104,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - SegvHandler
    - reinterpret_cast<void*>
    - guardedpage_allocator
    - getpid
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - syscall
    - EXPECT_GT
    - ASSERT_NE
    - printf
    - GTEST_SKIP
    - mmap
    - sigaction
    - static_cast<char*>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:41,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:44,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:49,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:50,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:79,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:104,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - SegvHandler
    - reinterpret_cast<void*>
    - guardedpage_allocator
    - getpid
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - syscall
    - EXPECT_GT
    - ASSERT_NE
    - printf
    - GTEST_SKIP
    - mmap
    - sigaction
    - static_cast<char*>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:41,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:44,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:47,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:49,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:50,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:54,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:61,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:69,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:71,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: getpid
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:73,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: sigaltstack
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:75,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:76,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:79,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:102,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:103,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:104,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/segv_handler_test.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 106
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler_test.cc
    functionUses: 0
    functionsReached:
    - sigaltstack
    - SegvHandler
    - reinterpret_cast<void*>
    - guardedpage_allocator
    - getpid
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - syscall
    - EXPECT_GT
    - ASSERT_NE
    - printf
    - GTEST_SKIP
    - mmap
    - sigaction
    - static_cast<char*>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SegvHandlerTest, SignalHandlerStackConsumption)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:39,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:45,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:46,1
    - Dst: ActivateCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:47,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:49,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:51,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:51,1
    - Dst: ActivatePerCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ActivateCpuCache
    - ::operator delete
    - ActivatePerCpuCaches
    - InitIfNecessary
    - tcmalloc_internal::subtle::percpu::IsFast
    - ::operator new
    - tcmalloc_internal::Parameters::per_cpu_caches
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - CpuCacheActive
    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:39,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:45,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:46,1
    - Dst: ActivateCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:47,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:49,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:51,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::ActivatePerCpuCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ActivateCpuCache
    - ::operator delete
    - InitIfNecessary
    - tcmalloc_internal::subtle::percpu::IsFast
    - ::operator new
    - tcmalloc_internal::Parameters::per_cpu_caches
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void ActivatePerCpuCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActivatePerCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:39,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:44,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:45,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:46,1
    - Dst: ActivateCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:47,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:49,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:51,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::ActivatePerCpuCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ActivateCpuCache
    - ::operator delete
    - InitIfNecessary
    - tcmalloc_internal::subtle::percpu::IsFast
    - ::operator new
    - tcmalloc_internal::Parameters::per_cpu_caches
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - CpuCacheActive
    linkageType: ''
    returnType: void
    signature: void ActivatePerCpuCaches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActivatePerCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 68
    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: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: 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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    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:
    - absl::Span<void*>::subspan
    - ASSERT_GT
    - absl::Span<void*>::size
    - RemoveRange
    - ASSERT_LE
    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:
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    - absl::Span<void*>::size
    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:
    - ::operator new
    - absl::Span<void*>::size
    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:
    - absl::Span<void*>::subspan
    - ASSERT_GT
    - absl::Span<void*>::size
    - RemoveRange
    - ASSERT_LE
    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:
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    - absl::Span<void*>::size
    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:
    - ::operator new
    - absl::Span<void*>::size
    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:
    - absl::Span<void*>::subspan
    - ASSERT_GT
    - absl::Span<void*>::size
    - RemoveRange
    - ASSERT_LE
    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:
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    - absl::Span<void*>::size
    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:
    - ::operator new
    - absl::Span<void*>::size
    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:
    - absl::Span<void*>::subspan
    - ASSERT_GT
    - absl::Span<void*>::size
    - RemoveRange
    - ASSERT_LE
    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:
    - tcmalloc::tcmalloc_internal::MinimalFakeCentralFreeList::AllocateBatch
    - absl::Span<void*>::size
    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:
    - ::operator new
    - absl::Span<void*>::size
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:39,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:42,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:44,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:45,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:48,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:51,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:57,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:57,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:61,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:63,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:65,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:75,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:75,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:82,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:95,1
    - Dst: ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:96,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:102,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:104,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:106,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:112,1
    - Dst: ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:113,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:115,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:120,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:121,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:134,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:142,1
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:152,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:157,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:164,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:171,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:172,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:180,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:189,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 193
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - TC_CHECK_LE
    - stats
    - TC_ASSERT_EQ
    - active_partitions
    - metadata_bytes
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - HugePageAwareAllocator::HugePageAwareAllocator
    - sampled_objects_size_::value
    - static_cast<HugePageAwareAllocator*>
    - TC_LOG
    - in_bytes
    - ShrinkHardBy
    - TC_BUG
    - ColdFeatureActive
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::max
    - ABSL_ARRAYSIZE
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:39,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:42,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:44,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:45,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:48,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:51,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:57,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::PageAllocator::PageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - tcmalloc_internal::PageAllocator::active_partitions
    - TC_CHECK_LE
    - HugePageAwareAllocator::HugePageAwareAllocator
    - ABSL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void PageAllocator::PageAllocator()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:61,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:63,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:65,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:75,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:75,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:82,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:95,1
    - Dst: tcmalloc_internal::PageAllocator::ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:96,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:102,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:104,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:106,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:112,1
    - Dst: tcmalloc_internal::PageAllocator::ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:113,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:115,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:120,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:121,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 136
    functionName: tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 2
    functionsReached:
    - metadata_bytes
    - LengthFromBytes
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageAllocator::ShrinkHardBy
    - tcmalloc_internal::max
    - tcmalloc_internal::PageAllocator::stats
    - TC_ASSERT_EQ
    - Length::in_bytes
    - TC_BUG
    - sampled_objects_size_::value
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void PageAllocator::ShrinkToUsageLimit(Length n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:142,1
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:152,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:157,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:164,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:171,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:172,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pages
    - limit_kind
    argTypes:
    - Length
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::PageAllocator::ShrinkHardBy
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    - tcmalloc_internal::PageAllocator::active_partitions
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - static_cast<HugePageAwareAllocator*>
    - TC_LOG
    linkageType: ''
    returnType: bool
    signature: bool PageAllocator::ShrinkHardBy(Length pages, LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::PageAllocator::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 15
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_partitions
    linkageType: ''
    returnType: size_t
    signature: size_t PageAllocator::active_partitions() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:39,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:42,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:44,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:45,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:48,1
    - Dst: HugePageAwareAllocator::HugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:51,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:57,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: tcmalloc_internal::PageAllocator::PageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - tcmalloc_internal::PageAllocator::active_partitions
    - TC_CHECK_LE
    - HugePageAwareAllocator::HugePageAwareAllocator
    - ABSL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void PageAllocator::PageAllocator()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:61,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:63,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:65,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:75,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:75,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:82,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:95,1
    - Dst: tcmalloc_internal::PageAllocator::ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:96,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:102,1
    - Dst: tcmalloc_internal::PageAllocator::stats
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:104,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:106,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:112,1
    - Dst: tcmalloc_internal::PageAllocator::ShrinkHardBy
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:113,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:115,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:120,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:121,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 136
    functionName: tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 2
    functionsReached:
    - metadata_bytes
    - LengthFromBytes
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageAllocator::ShrinkHardBy
    - tcmalloc_internal::max
    - tcmalloc_internal::PageAllocator::stats
    - TC_ASSERT_EQ
    - Length::in_bytes
    - TC_BUG
    - sampled_objects_size_::value
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void PageAllocator::ShrinkToUsageLimit(Length n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:142,1
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:152,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:157,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:164,1
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:171,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:172,1
    - Dst: static_cast<HugePageAwareAllocator*>
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pages
    - limit_kind
    argTypes:
    - Length
    - LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::PageAllocator::ShrinkHardBy
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::PageAllocator::ReleaseAtLeastNPages
    - tcmalloc_internal::PageAllocator::active_partitions
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - static_cast<HugePageAwareAllocator*>
    - TC_LOG
    linkageType: ''
    returnType: bool
    signature: bool PageAllocator::ShrinkHardBy(Length pages, LimitKind limit_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageAllocator::active_partitions
      Src: /src/tcmalloc/tcmalloc/page_allocator.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::PageAllocator::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator.cc
    functionUses: 18
    functionsReached:
    - tcmalloc_internal::PageAllocator::active_partitions
    linkageType: ''
    returnType: size_t
    signature: size_t PageAllocator::active_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:
    - EXPECT_DEBUG_DEATH
    - Length
    - benchmark::DoNotOptimize
    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:
    - EXPECT_DEBUG_DEATH
    - Length
    - benchmark::DoNotOptimize
    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:
    - EXPECT_DEBUG_DEATH
    - Length
    - benchmark::DoNotOptimize
    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:
    - EXPECT_DEBUG_DEATH
    - Length
    - benchmark::DoNotOptimize
    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:
    - Marshal
    - perftools::profiles::Profile::period
    - std::make_unique<FakeProfile>
    - absl::string_view::size
    - auto::SetType
    - perftools::profiles::Profile::duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - absl::Milliseconds
    - std::move
    - EXPECT_EQ
    - testing::HasSubstr
    - std::vector::emplace_back
    - perftools::profiles::Profile::drop_frames
    - EXPECT_THAT
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - auto::SetSamples
    - perftools::profiles::Profile::default_sample_type
    - absl::ToInt64Nanoseconds
    - perftools::profiles::Profile::period_type
    - perftools::profiles::Profile::string_table
    - auto::SetDuration
    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:
    - Marshal
    - perftools::profiles::Profile::period
    - std::make_unique<FakeProfile>
    - absl::string_view::size
    - auto::SetType
    - perftools::profiles::Profile::duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - absl::Milliseconds
    - std::move
    - EXPECT_EQ
    - testing::HasSubstr
    - std::vector::emplace_back
    - perftools::profiles::Profile::drop_frames
    - EXPECT_THAT
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - auto::SetSamples
    - perftools::profiles::Profile::default_sample_type
    - absl::ToInt64Nanoseconds
    - perftools::profiles::Profile::period_type
    - perftools::profiles::Profile::string_table
    - auto::SetDuration
    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:
    - Marshal
    - perftools::profiles::Profile::period
    - std::make_unique<FakeProfile>
    - absl::string_view::size
    - auto::SetType
    - perftools::profiles::Profile::duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - absl::Milliseconds
    - std::move
    - EXPECT_EQ
    - testing::HasSubstr
    - std::vector::emplace_back
    - perftools::profiles::Profile::drop_frames
    - EXPECT_THAT
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - auto::SetSamples
    - perftools::profiles::Profile::default_sample_type
    - absl::ToInt64Nanoseconds
    - perftools::profiles::Profile::period_type
    - perftools::profiles::Profile::string_table
    - auto::SetDuration
    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:
    - Marshal
    - perftools::profiles::Profile::period
    - std::make_unique<FakeProfile>
    - absl::string_view::size
    - auto::SetType
    - perftools::profiles::Profile::duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - absl::Milliseconds
    - std::move
    - EXPECT_EQ
    - testing::HasSubstr
    - std::vector::emplace_back
    - perftools::profiles::Profile::drop_frames
    - EXPECT_THAT
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - auto::SetSamples
    - perftools::profiles::Profile::default_sample_type
    - absl::ToInt64Nanoseconds
    - perftools::profiles::Profile::period_type
    - perftools::profiles::Profile::string_table
    - auto::SetDuration
    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:
    - Marshal
    - perftools::profiles::Profile::period
    - std::make_unique<FakeProfile>
    - absl::string_view::size
    - auto::SetType
    - perftools::profiles::Profile::duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - absl::Milliseconds
    - std::move
    - EXPECT_EQ
    - testing::HasSubstr
    - std::vector::emplace_back
    - perftools::profiles::Profile::drop_frames
    - EXPECT_THAT
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - auto::SetSamples
    - perftools::profiles::Profile::default_sample_type
    - absl::ToInt64Nanoseconds
    - perftools::profiles::Profile::period_type
    - perftools::profiles::Profile::string_table
    - auto::SetDuration
    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:
    - Marshal
    - perftools::profiles::Profile::period
    - std::make_unique<FakeProfile>
    - absl::string_view::size
    - auto::SetType
    - perftools::profiles::Profile::duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - absl::Milliseconds
    - std::move
    - EXPECT_EQ
    - testing::HasSubstr
    - std::vector::emplace_back
    - perftools::profiles::Profile::drop_frames
    - EXPECT_THAT
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - auto::SetSamples
    - perftools::profiles::Profile::default_sample_type
    - absl::ToInt64Nanoseconds
    - perftools::profiles::Profile::period_type
    - perftools::profiles::Profile::string_table
    - auto::SetDuration
    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:
    - Marshal
    - perftools::profiles::Profile::period
    - std::make_unique<FakeProfile>
    - absl::string_view::size
    - auto::SetType
    - perftools::profiles::Profile::duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - absl::Milliseconds
    - std::move
    - EXPECT_EQ
    - testing::HasSubstr
    - std::vector::emplace_back
    - perftools::profiles::Profile::drop_frames
    - EXPECT_THAT
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - auto::SetSamples
    - perftools::profiles::Profile::default_sample_type
    - absl::ToInt64Nanoseconds
    - perftools::profiles::Profile::period_type
    - perftools::profiles::Profile::string_table
    - auto::SetDuration
    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:
    - Marshal
    - perftools::profiles::Profile::period
    - std::make_unique<FakeProfile>
    - absl::string_view::size
    - auto::SetType
    - perftools::profiles::Profile::duration_nanos
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - absl::Milliseconds
    - std::move
    - EXPECT_EQ
    - testing::HasSubstr
    - std::vector::emplace_back
    - perftools::profiles::Profile::drop_frames
    - EXPECT_THAT
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - auto::SetSamples
    - perftools::profiles::Profile::default_sample_type
    - absl::ToInt64Nanoseconds
    - perftools::profiles::Profile::period_type
    - perftools::profiles::Profile::string_table
    - auto::SetDuration
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::Align
    - Arena::Alloc
    - EXPECT_EQ
    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_GE
    - EXPECT_EQ
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::Align
    - Arena::Alloc
    - EXPECT_EQ
    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_GE
    - EXPECT_EQ
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::Align
    - Arena::Alloc
    - EXPECT_EQ
    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_GE
    - EXPECT_EQ
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::Align
    - Arena::Alloc
    - EXPECT_EQ
    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_GE
    - EXPECT_EQ
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::Align
    - Arena::Alloc
    - EXPECT_EQ
    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_GE
    - EXPECT_EQ
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::Align
    - Arena::Alloc
    - EXPECT_EQ
    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_GE
    - EXPECT_EQ
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::Align
    - Arena::Alloc
    - EXPECT_EQ
    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_GE
    - EXPECT_EQ
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::Align
    - Arena::Alloc
    - EXPECT_EQ
    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_GE
    - EXPECT_EQ
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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_EQ
    - Arena::UpdateAllocatedAndNonresident
    - Arena::stats
    - Arena::Alloc
    - tcmalloc::tcmalloc_internal::Align
    - EXPECT_NE
    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:
    - PrintStats
    - EXPECT_EQ
    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:
    - Length
    - Backing
    - ExpectStats
    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:
    - Length
    - Backing
    - ExpectStats
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::RecordFree
    - PageAllocInfo::counts_for
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::counts_for
    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:
    - EXPECT_GE
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::CycleClock::Now
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Now
    - absl::SleepFor
    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:
    - PrintStats
    - EXPECT_EQ
    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:
    - Length
    - Backing
    - ExpectStats
    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:
    - Length
    - Backing
    - ExpectStats
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::RecordFree
    - PageAllocInfo::counts_for
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::counts_for
    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:
    - EXPECT_GE
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::CycleClock::Now
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Now
    - absl::SleepFor
    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:
    - PrintStats
    - EXPECT_EQ
    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:
    - Length
    - Backing
    - ExpectStats
    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:
    - Length
    - Backing
    - ExpectStats
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::RecordFree
    - PageAllocInfo::counts_for
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::counts_for
    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:
    - EXPECT_GE
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::CycleClock::Now
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Now
    - absl::SleepFor
    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:
    - PrintStats
    - EXPECT_EQ
    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:
    - Length
    - Backing
    - ExpectStats
    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:
    - Length
    - Backing
    - ExpectStats
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::RecordFree
    - PageAllocInfo::counts_for
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::counts_for
    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:
    - EXPECT_GE
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::CycleClock::Now
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Now
    - absl::SleepFor
    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:
    - PrintStats
    - EXPECT_EQ
    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:
    - Length
    - Backing
    - ExpectStats
    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:
    - Length
    - Backing
    - ExpectStats
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::RecordFree
    - PageAllocInfo::counts_for
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::counts_for
    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:
    - EXPECT_GE
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::CycleClock::Now
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Now
    - absl::SleepFor
    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:
    - PrintStats
    - EXPECT_EQ
    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:
    - Length
    - Backing
    - ExpectStats
    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:
    - Length
    - Backing
    - ExpectStats
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::RecordFree
    - PageAllocInfo::counts_for
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::counts_for
    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:
    - EXPECT_GE
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::CycleClock::Now
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Now
    - absl::SleepFor
    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:
    - PrintStats
    - EXPECT_EQ
    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:
    - Length
    - Backing
    - ExpectStats
    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:
    - Length
    - Backing
    - ExpectStats
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::RecordFree
    - PageAllocInfo::counts_for
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::counts_for
    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:
    - EXPECT_GE
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::CycleClock::Now
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Now
    - absl::SleepFor
    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:
    - PrintStats
    - EXPECT_EQ
    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:
    - Length
    - Backing
    - ExpectStats
    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:
    - Length
    - Backing
    - ExpectStats
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::RecordFree
    - PageAllocInfo::counts_for
    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::slack
    - EXPECT_EQ
    - PageAllocInfo::small
    - Length
    - Range
    - PageAllocInfo::RecordAlloc
    - PageAllocInfo::counts_for
    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:
    - EXPECT_GE
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::base_internal::CycleClock::Now
    - EXPECT_LE
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - absl::Now
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(ClockTest, ClockTicks)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:42,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:43,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:48,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:49,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:50,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:62,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:63,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:68,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:75,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:76,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:77,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:79,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:85,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:86,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:87,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:88,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:88,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:89,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:94,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:102,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:103,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:110,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:113,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:113,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:115,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 129
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - GetBit
    - first
    - ClearBit
    - TC_ASSERT_NE
    - SetBit
    - length
    - remove
    - func
    - prepend
    - empty
    - TC_ASSERT
    - FindSet
    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: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    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:42,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:43,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:48,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:49,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::HintedTrackerLists::GetLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - first
    - ClearBit
    - remove
    - empty
    - TC_ASSERT
    - FindSet
    linkageType: ''
    returnType: void
    signature: void GetLeast(const size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:62,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:63,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::HintedTrackerLists::PeekLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - first
    - empty
    - TC_ASSERT
    - FindSet
    linkageType: ''
    returnType: void
    signature: void PeekLeast(const size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:75,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:76,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:77,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - TCMALLOC_CAPTURED_BY_THIS
    - i
    argTypes:
    - TrackerType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: tcmalloc_internal::HintedTrackerLists::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - SetBit
    - prepend
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: "void Add(TrackerType* absl_nonnull pt TCMALLOC_CAPTURED_BY_THIS,\n
      \          const size_t i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:85,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:86,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:87,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:88,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:88,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - absl_nonnull
    - i
    argTypes:
    - TrackerType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::HintedTrackerLists::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - GetBit
    - ClearBit
    - remove
    - TC_ASSERT
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Remove(TrackerType* absl_nonnull pt, const size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    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: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    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:102,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::HintedTrackerLists::SizeOfList
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - length
    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:110,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:113,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:113,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:115,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' func'
    - start
    argTypes:
    - Functor
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::HintedTrackerLists::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - empty
    - func
    - 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: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    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:42,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:43,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:47,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:48,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:49,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: tcmalloc_internal::HintedTrackerLists::GetLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - first
    - ClearBit
    - remove
    - empty
    - TC_ASSERT
    - FindSet
    linkageType: ''
    returnType: void
    signature: void GetLeast(const size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:62,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:63,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:67,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tcmalloc_internal::HintedTrackerLists::PeekLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - first
    - empty
    - TC_ASSERT
    - FindSet
    linkageType: ''
    returnType: void
    signature: void PeekLeast(const size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:75,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:76,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:77,1
    - Dst: SetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - TCMALLOC_CAPTURED_BY_THIS
    - i
    argTypes:
    - TrackerType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: tcmalloc_internal::HintedTrackerLists::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - SetBit
    - prepend
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: "void Add(TrackerType* absl_nonnull pt TCMALLOC_CAPTURED_BY_THIS,\n
      \          const size_t i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:85,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:86,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:87,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:88,1
    - Dst: GetBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:88,1
    - Dst: ClearBit
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - absl_nonnull
    - i
    argTypes:
    - TrackerType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::HintedTrackerLists::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - GetBit
    - ClearBit
    - remove
    - TC_ASSERT
    - TC_ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void Remove(TrackerType* absl_nonnull pt, const size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    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: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    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:102,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tcmalloc_internal::HintedTrackerLists::SizeOfList
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - length
    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:110,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:113,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:113,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:115,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' func'
    - start
    argTypes:
    - Functor
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: tcmalloc_internal::HintedTrackerLists::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/hinted_tracker_lists.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - empty
    - func
    - FindSet
    linkageType: ''
    returnType: void
    signature: void Iter(const Functor& func, size_t start) const
  - 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:
    - std::optional::has_value
    - std::map::find
    - std::map::end
    - tcmalloc::MallocExtension::GetProperties
    - __builtin_trap
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - std::optional::has_value
    - std::map::find
    - std::map::end
    - tcmalloc::MallocExtension::GetProperties
    - __builtin_trap
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - std::optional::has_value
    - std::map::find
    - std::map::end
    - tcmalloc::MallocExtension::GetProperties
    - __builtin_trap
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - std::optional::has_value
    - std::map::find
    - std::map::end
    - tcmalloc::MallocExtension::GetProperties
    - __builtin_trap
    - tcmalloc::MallocExtension::GetNumericProperty
    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:67,1
    - Dst: AllocationSample*::mallocs_::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sample.h:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 91
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - AllocationSample*::mallocs_::AddTrace
    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: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    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:
    - TCMALLOC_CAPTURED_BY_THIS
    argTypes:
    - AllocationSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: AllocationSampleList::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Add(AllocationSample* absl_nonnull as TCMALLOC_CAPTURED_BY_THIS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sample.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - absl_nonnull
    argTypes:
    - AllocationSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: AllocationSampleList::Remove
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sample.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    linkageType: ''
    returnType: void
    signature: void Remove(AllocationSample* absl_nonnull as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocationSample*::mallocs_::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sample.h:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' sample'
    argTypes:
    - struct StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    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: 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:
    - TC_CHECK
    - Alloc
    - Create
    - GetStats
    - MallocInternal
    - ExtraRegion::ExtraRegion
    - std::tie
    - static_cast<char*>
    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
    - static_cast<char*>
    - tcmalloc_internal::ExtraRegion::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:
    - 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:
    - tcmalloc_internal::ExtraRegionFactory::Create
    - TC_CHECK
    - ExtraRegion::ExtraRegion
    - MallocInternal
    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
    - static_cast<char*>
    - tcmalloc_internal::ExtraRegion::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:
    - 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:
    - tcmalloc_internal::ExtraRegionFactory::Create
    - TC_CHECK
    - ExtraRegion::ExtraRegion
    - MallocInternal
    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:
    - EXPECT_GE
    - Length
    - class_to_pages
    - class_to_size
    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:
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - ASSERT_EQ
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - class_to_pages
    - 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
    - class_to_size
    - tcmalloc::tcmalloc_internal::Alignment
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:150,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:154,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - EXPECT_EQ
    - SizeClass
    - CppPolicy
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:169,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: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - tcmalloc::tcmalloc_internal::Alignment
    - GTEST_SKIP
    - size_class_configuration
    - class_to_pages
    - 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_GT
    - SizeClass
    - EXPECT_LE
    - EXPECT_LT
    - CppPolicy
    - EXPECT_NE
    - 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:
    - EXPECT_EQ
    - Length
    - Length::in_bytes
    - class_to_pages
    - class_to_size
    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:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - IsExpandedSizeClass
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:292,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:292,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:328,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:340,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:340,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:354,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:357,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:370,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:373,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:375,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:393,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:397,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:398,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:411,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:416,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:420,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - ASSERT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - absl::Uniform
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    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:438,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:440,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:453,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - absl::LogUniform<size_t>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_pages
    - EXPECT_TRUE
    - Length
    - SizeMap::class_to_size
    - Length::in_bytes
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - class_to_size
    - class_to_pages
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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:
    - EXPECT_GE
    - Length
    - class_to_pages
    - class_to_size
    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:
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - ASSERT_EQ
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - class_to_pages
    - 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
    - class_to_size
    - tcmalloc::tcmalloc_internal::Alignment
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:150,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:154,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - EXPECT_EQ
    - SizeClass
    - CppPolicy
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:169,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: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - tcmalloc::tcmalloc_internal::Alignment
    - GTEST_SKIP
    - size_class_configuration
    - class_to_pages
    - 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_GT
    - SizeClass
    - EXPECT_LE
    - EXPECT_LT
    - CppPolicy
    - EXPECT_NE
    - 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:
    - EXPECT_EQ
    - Length
    - Length::in_bytes
    - class_to_pages
    - class_to_size
    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:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - IsExpandedSizeClass
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:292,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:292,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:328,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:340,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:340,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:354,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:357,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:370,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:373,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:375,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:393,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:397,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:398,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:411,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:416,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:420,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - ASSERT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - absl::Uniform
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    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:438,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:440,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:453,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - absl::LogUniform<size_t>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_pages
    - EXPECT_TRUE
    - Length
    - SizeMap::class_to_size
    - Length::in_bytes
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - class_to_size
    - class_to_pages
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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:
    - EXPECT_GE
    - Length
    - class_to_pages
    - class_to_size
    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:
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - ASSERT_EQ
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - class_to_pages
    - 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
    - class_to_size
    - tcmalloc::tcmalloc_internal::Alignment
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:150,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:154,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - EXPECT_EQ
    - SizeClass
    - CppPolicy
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:169,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: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - tcmalloc::tcmalloc_internal::Alignment
    - GTEST_SKIP
    - size_class_configuration
    - class_to_pages
    - 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_GT
    - SizeClass
    - EXPECT_LE
    - EXPECT_LT
    - CppPolicy
    - EXPECT_NE
    - 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:
    - EXPECT_EQ
    - Length
    - Length::in_bytes
    - class_to_pages
    - class_to_size
    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:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - IsExpandedSizeClass
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:292,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:292,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:328,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:340,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:340,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:354,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:357,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:370,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:373,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:375,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:393,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:397,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:398,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:411,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:416,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:420,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - ASSERT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - absl::Uniform
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    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:438,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:440,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:453,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - absl::LogUniform<size_t>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_pages
    - EXPECT_TRUE
    - Length
    - SizeMap::class_to_size
    - Length::in_bytes
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - class_to_size
    - class_to_pages
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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:
    - EXPECT_GE
    - Length
    - class_to_pages
    - class_to_size
    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:
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - ASSERT_EQ
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - class_to_pages
    - 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
    - class_to_size
    - tcmalloc::tcmalloc_internal::Alignment
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:150,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:154,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - EXPECT_EQ
    - SizeClass
    - CppPolicy
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:169,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: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - tcmalloc::tcmalloc_internal::Alignment
    - GTEST_SKIP
    - size_class_configuration
    - class_to_pages
    - 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_GT
    - SizeClass
    - EXPECT_LE
    - EXPECT_LT
    - CppPolicy
    - EXPECT_NE
    - 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:
    - EXPECT_EQ
    - Length
    - Length::in_bytes
    - class_to_pages
    - class_to_size
    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:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - IsExpandedSizeClass
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:292,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:292,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:328,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:340,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:340,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:354,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:357,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:370,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:373,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:375,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:393,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:397,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:398,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:411,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:416,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:420,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - ASSERT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - absl::Uniform
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    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:438,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:440,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:453,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - absl::LogUniform<size_t>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_pages
    - EXPECT_TRUE
    - Length
    - SizeMap::class_to_size
    - Length::in_bytes
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - class_to_size
    - class_to_pages
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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:
    - EXPECT_GE
    - Length
    - class_to_pages
    - class_to_size
    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:
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - ASSERT_EQ
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - class_to_pages
    - 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
    - class_to_size
    - tcmalloc::tcmalloc_internal::Alignment
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:150,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:154,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - EXPECT_EQ
    - SizeClass
    - CppPolicy
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:169,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: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - tcmalloc::tcmalloc_internal::Alignment
    - GTEST_SKIP
    - size_class_configuration
    - class_to_pages
    - 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_GT
    - SizeClass
    - EXPECT_LE
    - EXPECT_LT
    - CppPolicy
    - EXPECT_NE
    - 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:
    - EXPECT_EQ
    - Length
    - Length::in_bytes
    - class_to_pages
    - class_to_size
    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:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - IsExpandedSizeClass
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:292,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:292,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:328,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:340,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:340,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:354,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:357,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:370,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:373,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:375,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:393,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:397,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:398,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:411,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:416,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:420,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - ASSERT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - absl::Uniform
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    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:438,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:440,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:453,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - absl::LogUniform<size_t>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_pages
    - EXPECT_TRUE
    - Length
    - SizeMap::class_to_size
    - Length::in_bytes
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - class_to_size
    - class_to_pages
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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:
    - EXPECT_GE
    - Length
    - class_to_pages
    - class_to_size
    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:
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - ASSERT_EQ
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - class_to_pages
    - 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
    - class_to_size
    - tcmalloc::tcmalloc_internal::Alignment
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:150,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:154,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - EXPECT_EQ
    - SizeClass
    - CppPolicy
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:169,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: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - tcmalloc::tcmalloc_internal::Alignment
    - GTEST_SKIP
    - size_class_configuration
    - class_to_pages
    - 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_GT
    - SizeClass
    - EXPECT_LE
    - EXPECT_LT
    - CppPolicy
    - EXPECT_NE
    - 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:
    - EXPECT_EQ
    - Length
    - Length::in_bytes
    - class_to_pages
    - class_to_size
    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:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - IsExpandedSizeClass
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:292,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:292,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:328,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:340,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:340,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:354,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:357,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:370,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:373,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:375,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:393,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:397,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:398,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:411,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:416,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:420,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - ASSERT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - absl::Uniform
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    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:438,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:440,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:453,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - absl::LogUniform<size_t>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_pages
    - EXPECT_TRUE
    - Length
    - SizeMap::class_to_size
    - Length::in_bytes
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - class_to_size
    - class_to_pages
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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:
    - EXPECT_GE
    - Length
    - class_to_pages
    - class_to_size
    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:
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - ASSERT_EQ
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - class_to_pages
    - 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
    - class_to_size
    - tcmalloc::tcmalloc_internal::Alignment
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:150,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:154,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - EXPECT_EQ
    - SizeClass
    - CppPolicy
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:169,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: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - tcmalloc::tcmalloc_internal::Alignment
    - GTEST_SKIP
    - size_class_configuration
    - class_to_pages
    - 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_GT
    - SizeClass
    - EXPECT_LE
    - EXPECT_LT
    - CppPolicy
    - EXPECT_NE
    - 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:
    - EXPECT_EQ
    - Length
    - Length::in_bytes
    - class_to_pages
    - class_to_size
    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:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - IsExpandedSizeClass
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:292,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:292,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:328,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:340,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:340,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:354,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:357,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:370,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:373,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:375,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:393,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:397,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:398,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:411,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:416,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:420,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - ASSERT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - absl::Uniform
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    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:438,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:440,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:453,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - absl::LogUniform<size_t>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_pages
    - EXPECT_TRUE
    - Length
    - SizeMap::class_to_size
    - Length::in_bytes
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - class_to_size
    - class_to_pages
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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:
    - EXPECT_GE
    - Length
    - class_to_pages
    - class_to_size
    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:
    - tcmalloc::tcmalloc_internal::SpanTestPeer::TestOffsetToIdx
    - ASSERT_EQ
    - Length
    - tcmalloc::tcmalloc_internal::SpanTestPeer::UseBitmapForSize
    - tcmalloc::tcmalloc_internal::SpanTestPeer::CalcReciprocal
    - class_to_pages
    - 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
    - class_to_size
    - tcmalloc::tcmalloc_internal::Alignment
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Aligned)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:150,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:154,1
    - Dst: SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - EXPECT_EQ
    - SizeClass
    - CppPolicy
    - class_to_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, Distinguishable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:169,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: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - tcmalloc::tcmalloc_internal::Alignment
    - GTEST_SKIP
    - size_class_configuration
    - class_to_pages
    - 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_GT
    - SizeClass
    - EXPECT_LE
    - EXPECT_LT
    - CppPolicy
    - EXPECT_NE
    - 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:
    - EXPECT_EQ
    - Length
    - Length::in_bytes
    - class_to_pages
    - class_to_size
    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:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - IsExpandedSizeClass
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ExpandedSizeClasses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:292,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:292,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:296,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    linkageType: ''
    returnType: void
    signature: void TEST_F(RunTimeSizeClassesTest, ValidateClassSizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:328,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:340,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:340,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    - Dst: tcmalloc_internal::SizeMap::ValidSizeClasses
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - 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:354,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:357,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:358,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:367,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:370,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:373,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:375,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, GetSizeClass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:392,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:393,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:397,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:398,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:408,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:411,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:412,1
    - Dst: SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:414,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:416,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:420,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - absl::LogUniform
    - ASSERT_GT
    - EXPECT_EQ
    - ASSERT_EQ
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - absl::Uniform
    - SizeMap::GetSizeClass
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - EXPECT_LT
    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:438,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:440,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:441,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:447,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:450,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:451,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:453,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - SizeMap::class_to_size
    - ASSERT_GE
    - CppPolicy
    - SizeMap::Init
    - absl::LogUniform<size_t>
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, SizeClass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:462,1
    - Dst: SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:465,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: SizeMap::class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:466,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - SizeMap::class_to_pages
    - EXPECT_TRUE
    - Length
    - SizeMap::class_to_size
    - Length::in_bytes
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ValidateConditionsForSeparateAllocsInHugePageFiller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: class_to_pages
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/size_classes_test.cc
    functionUses: 0
    functionsReached:
    - num_objects_to_move
    - class_to_size
    - class_to_pages
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, Preinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    - Dst: tcmalloc_internal::SizeMap::CheckAssumptions
      Src: /src/tcmalloc/tcmalloc/size_classes_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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:
    - GetPageSize
    - std::max
    - 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: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_NE
      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: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_TRUE
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      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: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: Deallocate
      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: 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
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - memset
    - EXPECT_DEATH
    - EXPECT_FALSE
    - EXPECT_TRUE
    - successful_allocations
    - Deallocate
    - tcmalloc::tcmalloc_internal::PageSize
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    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:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:112,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::min
    - Deallocate
    - successful_allocations
    - SCOPED_TRACE
    - Allocate
    - absl::bit_cast<uintptr_t>
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - PointerIsMine
    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:143,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:145,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - __builtin_clz
    - EXPECT_EQ
    - EXPECT_TRUE
    - successful_allocations
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - EXPECT_NE
    - PointerIsMine
    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:158,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:160,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:175,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - absl::bit_cast<uintptr_t>
    - GTEST_SKIP
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: PointerIsMine
      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: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:205,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - GetParam
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - successful_allocations
    - Deallocate
    - Allocate
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::get
    - successful_allocations
    - Allocate
    - std::make_unique<char>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:240,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - GetRequestedSize
    - successful_allocations
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - ASSERT_NE
    - Deallocate
    - Allocate
    - static_cast<char*>
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:274,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:277,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - Deallocate
    - ASSERT_NE
    - Allocate
    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:288,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:305,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - std::thread
    - successful_allocations
    - Allocate
    - std::vector::reserve
    - absl::flat_hash_set::erase
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:316,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:329,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:336,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:350,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - join
    - EXPECT_EQ
    - std::thread
    - reinterpret_cast<char*>
    - Deallocate
    - Allocate
    - std::vector::reserve
    - std::vector::push_back
    - EXPECT_NE
    - NumCPUs
    - absl::SleepFor
    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:369,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:381,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:385,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:401,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:405,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:421,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:425,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:431,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - __size_returning_new
    - IsNormalMemory
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    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:
    - GetPageSize
    - std::max
    - 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: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_NE
      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: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_TRUE
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      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: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: Deallocate
      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: 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
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - memset
    - EXPECT_DEATH
    - EXPECT_FALSE
    - EXPECT_TRUE
    - successful_allocations
    - Deallocate
    - tcmalloc::tcmalloc_internal::PageSize
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    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:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:112,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::min
    - Deallocate
    - successful_allocations
    - SCOPED_TRACE
    - Allocate
    - absl::bit_cast<uintptr_t>
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - PointerIsMine
    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:143,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:145,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - __builtin_clz
    - EXPECT_EQ
    - EXPECT_TRUE
    - successful_allocations
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - EXPECT_NE
    - PointerIsMine
    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:158,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:160,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:175,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - absl::bit_cast<uintptr_t>
    - GTEST_SKIP
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: PointerIsMine
      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: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:205,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - GetParam
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - successful_allocations
    - Deallocate
    - Allocate
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::get
    - successful_allocations
    - Allocate
    - std::make_unique<char>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:240,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - GetRequestedSize
    - successful_allocations
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - ASSERT_NE
    - Deallocate
    - Allocate
    - static_cast<char*>
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:274,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:277,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - Deallocate
    - ASSERT_NE
    - Allocate
    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:288,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:305,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - std::thread
    - successful_allocations
    - Allocate
    - std::vector::reserve
    - absl::flat_hash_set::erase
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:316,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:329,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:336,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:350,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - join
    - EXPECT_EQ
    - std::thread
    - reinterpret_cast<char*>
    - Deallocate
    - Allocate
    - std::vector::reserve
    - std::vector::push_back
    - EXPECT_NE
    - NumCPUs
    - absl::SleepFor
    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:369,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:381,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:385,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:401,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:405,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:421,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:425,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:431,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - __size_returning_new
    - IsNormalMemory
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    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:
    - GetPageSize
    - std::max
    - 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: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_NE
      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: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_TRUE
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      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: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: Deallocate
      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: 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
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - memset
    - EXPECT_DEATH
    - EXPECT_FALSE
    - EXPECT_TRUE
    - successful_allocations
    - Deallocate
    - tcmalloc::tcmalloc_internal::PageSize
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    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:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:112,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::min
    - Deallocate
    - successful_allocations
    - SCOPED_TRACE
    - Allocate
    - absl::bit_cast<uintptr_t>
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - PointerIsMine
    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:143,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:145,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - __builtin_clz
    - EXPECT_EQ
    - EXPECT_TRUE
    - successful_allocations
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - EXPECT_NE
    - PointerIsMine
    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:158,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:160,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:175,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - absl::bit_cast<uintptr_t>
    - GTEST_SKIP
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: PointerIsMine
      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: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:205,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - GetParam
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - successful_allocations
    - Deallocate
    - Allocate
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::get
    - successful_allocations
    - Allocate
    - std::make_unique<char>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:240,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - GetRequestedSize
    - successful_allocations
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - ASSERT_NE
    - Deallocate
    - Allocate
    - static_cast<char*>
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:274,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:277,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - Deallocate
    - ASSERT_NE
    - Allocate
    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:288,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:305,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - std::thread
    - successful_allocations
    - Allocate
    - std::vector::reserve
    - absl::flat_hash_set::erase
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:316,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:329,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:336,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:350,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - join
    - EXPECT_EQ
    - std::thread
    - reinterpret_cast<char*>
    - Deallocate
    - Allocate
    - std::vector::reserve
    - std::vector::push_back
    - EXPECT_NE
    - NumCPUs
    - absl::SleepFor
    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:369,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:381,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:385,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:401,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:405,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:421,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:425,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:431,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - __size_returning_new
    - IsNormalMemory
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    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:
    - GetPageSize
    - std::max
    - 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: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_NE
      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: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_TRUE
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      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: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: Deallocate
      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: 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
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - memset
    - EXPECT_DEATH
    - EXPECT_FALSE
    - EXPECT_TRUE
    - successful_allocations
    - Deallocate
    - tcmalloc::tcmalloc_internal::PageSize
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    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:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:112,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::min
    - Deallocate
    - successful_allocations
    - SCOPED_TRACE
    - Allocate
    - absl::bit_cast<uintptr_t>
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - PointerIsMine
    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:143,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:145,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - __builtin_clz
    - EXPECT_EQ
    - EXPECT_TRUE
    - successful_allocations
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - EXPECT_NE
    - PointerIsMine
    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:158,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:160,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:175,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - absl::bit_cast<uintptr_t>
    - GTEST_SKIP
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: PointerIsMine
      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: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:205,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - GetParam
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - successful_allocations
    - Deallocate
    - Allocate
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::get
    - successful_allocations
    - Allocate
    - std::make_unique<char>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:240,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - GetRequestedSize
    - successful_allocations
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - ASSERT_NE
    - Deallocate
    - Allocate
    - static_cast<char*>
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:274,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:277,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - Deallocate
    - ASSERT_NE
    - Allocate
    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:288,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:305,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - std::thread
    - successful_allocations
    - Allocate
    - std::vector::reserve
    - absl::flat_hash_set::erase
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:316,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:329,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:336,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:350,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - join
    - EXPECT_EQ
    - std::thread
    - reinterpret_cast<char*>
    - Deallocate
    - Allocate
    - std::vector::reserve
    - std::vector::push_back
    - EXPECT_NE
    - NumCPUs
    - absl::SleepFor
    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:369,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:381,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:385,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:401,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:405,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:421,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:425,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:431,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - __size_returning_new
    - IsNormalMemory
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    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:
    - GetPageSize
    - std::max
    - 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: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_NE
      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: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_TRUE
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      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: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: Deallocate
      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: 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
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - memset
    - EXPECT_DEATH
    - EXPECT_FALSE
    - EXPECT_TRUE
    - successful_allocations
    - Deallocate
    - tcmalloc::tcmalloc_internal::PageSize
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    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:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:112,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::min
    - Deallocate
    - successful_allocations
    - SCOPED_TRACE
    - Allocate
    - absl::bit_cast<uintptr_t>
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - PointerIsMine
    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:143,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:145,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - __builtin_clz
    - EXPECT_EQ
    - EXPECT_TRUE
    - successful_allocations
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - EXPECT_NE
    - PointerIsMine
    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:158,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:160,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:175,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - absl::bit_cast<uintptr_t>
    - GTEST_SKIP
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: PointerIsMine
      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: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:205,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - GetParam
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - successful_allocations
    - Deallocate
    - Allocate
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::get
    - successful_allocations
    - Allocate
    - std::make_unique<char>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:240,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - GetRequestedSize
    - successful_allocations
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - ASSERT_NE
    - Deallocate
    - Allocate
    - static_cast<char*>
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:274,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:277,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - Deallocate
    - ASSERT_NE
    - Allocate
    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:288,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:305,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - std::thread
    - successful_allocations
    - Allocate
    - std::vector::reserve
    - absl::flat_hash_set::erase
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:316,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:329,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:336,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:350,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - join
    - EXPECT_EQ
    - std::thread
    - reinterpret_cast<char*>
    - Deallocate
    - Allocate
    - std::vector::reserve
    - std::vector::push_back
    - EXPECT_NE
    - NumCPUs
    - absl::SleepFor
    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:369,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:381,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:385,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:401,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:405,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:421,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:425,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:431,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - __size_returning_new
    - IsNormalMemory
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    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:
    - GetPageSize
    - std::max
    - 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: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_NE
      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: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_TRUE
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      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: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: Deallocate
      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: 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
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - memset
    - EXPECT_DEATH
    - EXPECT_FALSE
    - EXPECT_TRUE
    - successful_allocations
    - Deallocate
    - tcmalloc::tcmalloc_internal::PageSize
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    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:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:112,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::min
    - Deallocate
    - successful_allocations
    - SCOPED_TRACE
    - Allocate
    - absl::bit_cast<uintptr_t>
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - PointerIsMine
    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:143,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:145,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - __builtin_clz
    - EXPECT_EQ
    - EXPECT_TRUE
    - successful_allocations
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - EXPECT_NE
    - PointerIsMine
    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:158,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:160,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:175,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - absl::bit_cast<uintptr_t>
    - GTEST_SKIP
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: PointerIsMine
      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: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:205,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - GetParam
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - successful_allocations
    - Deallocate
    - Allocate
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::get
    - successful_allocations
    - Allocate
    - std::make_unique<char>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:240,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - GetRequestedSize
    - successful_allocations
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - ASSERT_NE
    - Deallocate
    - Allocate
    - static_cast<char*>
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:274,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:277,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - Deallocate
    - ASSERT_NE
    - Allocate
    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:288,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:305,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - std::thread
    - successful_allocations
    - Allocate
    - std::vector::reserve
    - absl::flat_hash_set::erase
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:316,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:329,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:336,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:350,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - join
    - EXPECT_EQ
    - std::thread
    - reinterpret_cast<char*>
    - Deallocate
    - Allocate
    - std::vector::reserve
    - std::vector::push_back
    - EXPECT_NE
    - NumCPUs
    - absl::SleepFor
    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:369,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:381,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:385,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:401,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:405,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:421,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:425,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:431,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - __size_returning_new
    - IsNormalMemory
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    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:
    - GetPageSize
    - std::max
    - 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: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_NE
      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: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_TRUE
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      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: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: Deallocate
      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: 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
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - memset
    - EXPECT_DEATH
    - EXPECT_FALSE
    - EXPECT_TRUE
    - successful_allocations
    - Deallocate
    - tcmalloc::tcmalloc_internal::PageSize
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    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:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:112,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::min
    - Deallocate
    - successful_allocations
    - SCOPED_TRACE
    - Allocate
    - absl::bit_cast<uintptr_t>
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - PointerIsMine
    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:143,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:145,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - __builtin_clz
    - EXPECT_EQ
    - EXPECT_TRUE
    - successful_allocations
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - EXPECT_NE
    - PointerIsMine
    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:158,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:160,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:175,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - absl::bit_cast<uintptr_t>
    - GTEST_SKIP
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: PointerIsMine
      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: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:205,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - GetParam
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - successful_allocations
    - Deallocate
    - Allocate
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::get
    - successful_allocations
    - Allocate
    - std::make_unique<char>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:240,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - GetRequestedSize
    - successful_allocations
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - ASSERT_NE
    - Deallocate
    - Allocate
    - static_cast<char*>
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:274,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:277,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - Deallocate
    - ASSERT_NE
    - Allocate
    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:288,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:305,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - std::thread
    - successful_allocations
    - Allocate
    - std::vector::reserve
    - absl::flat_hash_set::erase
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:316,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:329,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:336,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:350,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - join
    - EXPECT_EQ
    - std::thread
    - reinterpret_cast<char*>
    - Deallocate
    - Allocate
    - std::vector::reserve
    - std::vector::push_back
    - EXPECT_NE
    - NumCPUs
    - absl::SleepFor
    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:369,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:381,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:385,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:401,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:405,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:421,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:425,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:431,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - __size_returning_new
    - IsNormalMemory
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    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:
    - GetPageSize
    - std::max
    - 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: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::GuardedPageAllocatorTest::GuardedPageAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - Init
    - AllowAllocations
    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:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:89,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:90,1
    - Dst: EXPECT_NE
      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: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:92,1
    - Dst: EXPECT_TRUE
      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: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:94,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      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: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:97,1
    - Dst: Deallocate
      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: 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
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - memset
    - EXPECT_DEATH
    - EXPECT_FALSE
    - EXPECT_TRUE
    - successful_allocations
    - Deallocate
    - tcmalloc::tcmalloc_internal::PageSize
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    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:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:112,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:126,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:130,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:131,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::min
    - Deallocate
    - successful_allocations
    - SCOPED_TRACE
    - Allocate
    - absl::bit_cast<uintptr_t>
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - PointerIsMine
    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:143,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:145,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:147,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: __builtin_clz
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - __builtin_clz
    - EXPECT_EQ
    - EXPECT_TRUE
    - successful_allocations
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - EXPECT_NE
    - PointerIsMine
    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:158,1
    - Dst: tcmalloc::tcmalloc_internal::PageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:160,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:163,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:165,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:172,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:174,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:175,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - static_cast<std::align_val_t>
    - Allocate
    - tcmalloc::tcmalloc_internal::PageSize
    - absl::bit_cast<uintptr_t>
    - GTEST_SKIP
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, MismatchedAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:185,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:190,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:194,1
    - Dst: PointerIsMine
      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: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:196,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:202,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:205,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:208,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - GetParam
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - successful_allocations
    - Deallocate
    - Allocate
    - EXPECT_NE
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(GuardedPageAllocatorParamTest, AllocDeallocAllPages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:221,1
    - Dst: std::make_unique<char>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::get
    - successful_allocations
    - Allocate
    - std::make_unique<char>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, PointerIsMine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    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:239,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:240,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:246,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:250,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - PointerIsCorrectlyAligned
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - EXPECT_TRUE
    - Deallocate
    - GetRequestedSize
    - successful_allocations
    - Allocate
    - EXPECT_NE
    - static_cast<char*>
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteAllocationAndDeallocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:259,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:260,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:263,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:264,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - ASSERT_NE
    - Deallocate
    - Allocate
    - static_cast<char*>
    - GetRequestedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ZeroByteUseAfterFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:274,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:277,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - EXPECT_EQ
    - EXPECT_DEATH
    - Deallocate
    - ASSERT_NE
    - Allocate
    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:288,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:290,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:293,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:299,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:305,1
    - Dst: absl::flat_hash_set::erase
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    - Dst: successful_allocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::size
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - join
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - std::thread
    - successful_allocations
    - Allocate
    - std::vector::reserve
    - absl::flat_hash_set::erase
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorTest, ThreadedAllocCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:316,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:319,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:321,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:325,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:328,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:329,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:336,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:341,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:345,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:350,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - join
    - EXPECT_EQ
    - std::thread
    - reinterpret_cast<char*>
    - Deallocate
    - Allocate
    - std::vector::reserve
    - std::vector::push_back
    - EXPECT_NE
    - NumCPUs
    - absl::SleepFor
    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:369,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 376
    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:381,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:384,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:385,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:386,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:387,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:389,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:401,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:404,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:405,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:407,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:409,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - IsNormalMemory
    - ::operator new
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, MismatchedSizeDeleteZero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:421,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:425,1
    - Dst: filter
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:427,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:430,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:431,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:432,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: std::unique_ptr::get
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:436,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - GetParam
    - sized_delete
    - __size_returning_new
    - IsNormalMemory
    - GTEST_SKIP
    - filter
    - ASSERT_TRUE
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void TEST_P(SampledAllocationWithFilterTest, SizedNewMismatchedSizeDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:53,1
    - Dst: len
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:53,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:85,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:85,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:91,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:97,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:98,1
    - Dst: Nil
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:101,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:158,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:158,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:160,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:161,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:162,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:196,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:196,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:197,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:224,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:226,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:239,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:251,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:261,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:262,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 280
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - in_bytes
    - absl::ToDoubleSeconds
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - len
    - Nil
    - start
    - freq
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::max
    - usage
    - NHugePages
    - now
    - absl::Minutes
    - std::min
    - std::max
    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: ~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:53,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator()(HugeRange r)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    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: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    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:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    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:97,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::MinMaxTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    - std::max
    linkageType: ''
    returnType: void
    signature: void Report(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MinMaxTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_cache.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::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 ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' unback ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - cache_time
    argTypes:
    - HugeAllocator
    - MetadataAllocator
    - MemoryModifyFunction
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::HugeCache::HugeCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugeCache(HugeAllocator& allocator ABSL_ATTRIBUTE_LIFETIME_BOUND,\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:158,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:158,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:160,1
    - Dst: Clock::now
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:161,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' allocator ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' 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: 167
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::HugeCache::HugeCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - freq
    - absl::ToInt64Nanoseconds
    - Clock::now
    - absl::Minutes
    linkageType: ''
    returnType: void
    signature: "void HugeCache(HugeAllocator& allocator ABSL_ATTRIBUTE_LIFETIME_BOUND,\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: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    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: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    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: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    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:196,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:196,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:196,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::HugeCache::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::size
    - tcmalloc_internal::HugeCache::usage
    - in_bytes
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    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:272,1
    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::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: []
    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: ~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:53,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator()(HugeRange r)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    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: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    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:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    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:97,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: tcmalloc_internal::MinMaxTracker::Report
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    - std::max
    linkageType: ''
    returnType: void
    signature: void Report(HugeLength n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::MinMaxTracker::Nil
      Src: /src/tcmalloc/tcmalloc/huge_cache.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::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 ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' meta_allocate ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' unback ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - cache_time
    argTypes:
    - HugeAllocator
    - MetadataAllocator
    - MemoryModifyFunction
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::HugeCache::HugeCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HugeCache(HugeAllocator& allocator ABSL_ATTRIBUTE_LIFETIME_BOUND,\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:158,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:158,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:159,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:160,1
    - Dst: Clock::now
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:161,1
    - Dst: absl::Minutes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' allocator ABSL_ATTRIBUTE_LIFETIME_BOUND'
    - ' 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: 167
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: tcmalloc_internal::HugeCache::HugeCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - freq
    - absl::ToInt64Nanoseconds
    - Clock::now
    - absl::Minutes
    linkageType: ''
    returnType: void
    signature: "void HugeCache(HugeAllocator& allocator ABSL_ATTRIBUTE_LIFETIME_BOUND,\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: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::HugeCache::size
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 1
    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: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    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: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: tcmalloc_internal::HugeCache::usage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength usage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::usage
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:196,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:196,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:196,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::HugeCache::stats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::size
    - tcmalloc_internal::HugeCache::usage
    - in_bytes
    linkageType: ''
    returnType: BackingStats
    signature: BackingStats stats() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    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:272,1
    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::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: 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: 32
    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:
    - ::operator new
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    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: 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: 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:
    - get
    - tcmalloc::tcmalloc_internal::sc
    - ASSERT_EQ
    - GetParam
    - Ensure
    - sizeclass
    - std::pair<Span*, int>
    - set_with_sizeclass
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - Ensure
    - ASSERT_FALSE
    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:
    - get
    - set
    - absl::BitGen
    - std::vector::end
    - ASSERT_EQ
    - GetParam
    - Ensure
    - std::vector::begin
    - std::shuffle
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::span
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - std::vector::data
    - ASSERT_EQ
    - mincore
    - EXPECT_EQ
    - ASSERT_NE
    - sysconf
    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: 35
    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:
    - ::operator new
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    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: 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: 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:
    - get
    - tcmalloc::tcmalloc_internal::sc
    - ASSERT_EQ
    - GetParam
    - Ensure
    - sizeclass
    - std::pair<Span*, int>
    - set_with_sizeclass
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - Ensure
    - ASSERT_FALSE
    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:
    - get
    - set
    - absl::BitGen
    - std::vector::end
    - ASSERT_EQ
    - GetParam
    - Ensure
    - std::vector::begin
    - std::shuffle
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::span
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - std::vector::data
    - ASSERT_EQ
    - mincore
    - EXPECT_EQ
    - ASSERT_NE
    - sysconf
    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: 38
    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:
    - ::operator new
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    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: 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: 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:
    - get
    - tcmalloc::tcmalloc_internal::sc
    - ASSERT_EQ
    - GetParam
    - Ensure
    - sizeclass
    - std::pair<Span*, int>
    - set_with_sizeclass
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - Ensure
    - ASSERT_FALSE
    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:
    - get
    - set
    - absl::BitGen
    - std::vector::end
    - ASSERT_EQ
    - GetParam
    - Ensure
    - std::vector::begin
    - std::shuffle
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::span
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - std::vector::data
    - ASSERT_EQ
    - mincore
    - EXPECT_EQ
    - ASSERT_NE
    - sysconf
    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: 41
    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:
    - ::operator new
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    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: 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: 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:
    - get
    - tcmalloc::tcmalloc_internal::sc
    - ASSERT_EQ
    - GetParam
    - Ensure
    - sizeclass
    - std::pair<Span*, int>
    - set_with_sizeclass
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - Ensure
    - ASSERT_FALSE
    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:
    - get
    - set
    - absl::BitGen
    - std::vector::end
    - ASSERT_EQ
    - GetParam
    - Ensure
    - std::vector::begin
    - std::shuffle
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::span
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - std::vector::data
    - ASSERT_EQ
    - mincore
    - EXPECT_EQ
    - ASSERT_NE
    - sysconf
    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: 44
    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:
    - ::operator new
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    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: 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: 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:
    - get
    - tcmalloc::tcmalloc_internal::sc
    - ASSERT_EQ
    - GetParam
    - Ensure
    - sizeclass
    - std::pair<Span*, int>
    - set_with_sizeclass
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - Ensure
    - ASSERT_FALSE
    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:
    - get
    - set
    - absl::BitGen
    - std::vector::end
    - ASSERT_EQ
    - GetParam
    - Ensure
    - std::vector::begin
    - std::shuffle
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::span
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - std::vector::data
    - ASSERT_EQ
    - mincore
    - EXPECT_EQ
    - ASSERT_NE
    - sysconf
    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: 47
    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:
    - ::operator new
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    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: 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: 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:
    - get
    - tcmalloc::tcmalloc_internal::sc
    - ASSERT_EQ
    - GetParam
    - Ensure
    - sizeclass
    - std::pair<Span*, int>
    - set_with_sizeclass
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - Ensure
    - ASSERT_FALSE
    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:
    - get
    - set
    - absl::BitGen
    - std::vector::end
    - ASSERT_EQ
    - GetParam
    - Ensure
    - std::vector::begin
    - std::shuffle
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::span
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - std::vector::data
    - ASSERT_EQ
    - mincore
    - EXPECT_EQ
    - ASSERT_NE
    - sysconf
    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: 50
    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:
    - ::operator new
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    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: 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: 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:
    - get
    - tcmalloc::tcmalloc_internal::sc
    - ASSERT_EQ
    - GetParam
    - Ensure
    - sizeclass
    - std::pair<Span*, int>
    - set_with_sizeclass
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - Ensure
    - ASSERT_FALSE
    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:
    - get
    - set
    - absl::BitGen
    - std::vector::end
    - ASSERT_EQ
    - GetParam
    - Ensure
    - std::vector::begin
    - std::shuffle
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::span
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - std::vector::data
    - ASSERT_EQ
    - mincore
    - EXPECT_EQ
    - ASSERT_NE
    - sysconf
    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: 53
    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:
    - ::operator new
    - tcmalloc::tcmalloc_internal::PageMapTest::ptrs
    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: 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: 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:
    - get
    - tcmalloc::tcmalloc_internal::sc
    - ASSERT_EQ
    - GetParam
    - Ensure
    - sizeclass
    - std::pair<Span*, int>
    - set_with_sizeclass
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - get
    - ASSERT_EQ
    - GetParam
    - Ensure
    - set
    - tcmalloc::tcmalloc_internal::span
    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:
    - Ensure
    - ASSERT_FALSE
    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:
    - get
    - set
    - absl::BitGen
    - std::vector::end
    - ASSERT_EQ
    - GetParam
    - Ensure
    - std::vector::begin
    - std::shuffle
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::span
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - std::vector::data
    - ASSERT_EQ
    - mincore
    - EXPECT_EQ
    - ASSERT_NE
    - sysconf
    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:199,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/common.h:203,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/common.h:216,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/common.h:216,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/common.h:254,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:254,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/common.h:258,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:258,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/common.h:270,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/common.h:271,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:280,1
    - Dst: PageHeapSpinLockHolder
      Src: /src/tcmalloc/tcmalloc/common.h:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 313
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - absl::bit_width
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::max
    - ASSUME
    - __builtin_unreachable
    - PageHeapSpinLockHolder
    - static_cast<size_t>
    - TC_ASSERT_NE
    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: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    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: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    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:254,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:254,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/common.h:258,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    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:270,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/common.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: tcmalloc_internal::MultiNormalTag
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - ASSUME
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag MultiNormalTag(size_t partition)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::PartitionFromPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    linkageType: ''
    returnType: size_t
    signature: size_t PartitionFromPointer(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageHeapSpinLockHolder
      Src: /src/tcmalloc/tcmalloc/common.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 301
    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: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    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: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    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: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    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: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    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: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    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:254,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:254,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/common.h:258,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    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:270,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/common.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - partition
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: tcmalloc_internal::MultiNormalTag
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - ASSUME
    linkageType: ''
    returnType: MemoryTag
    signature: MemoryTag MultiNormalTag(size_t partition)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/common.h:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::PartitionFromPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/common.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    linkageType: ''
    returnType: size_t
    signature: size_t PartitionFromPointer(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageHeapSpinLockHolder
      Src: /src/tcmalloc/tcmalloc/common.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 301
    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: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    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: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    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: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    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:
    - guardedpage_allocator
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - evaluate_alloc
    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:
    - guardedpage_allocator
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    - 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:
    - IsNormalMemory
    - guardedpage_allocator
    - 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:
    - absl::flat_hash_set::insert
    - Iterate
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - verify
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_NE
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    - EXPECT_NE
    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:
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateGuardableUntil
    - ExamineSamples
    - std::move
    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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    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:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - guardedpage_allocator
    - std::move
    - ASSERT_EQ
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - IsNormalMemory
    - EXPECT_NE
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - auto::Iterate
    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:
    - guardedpage_allocator
    - std::move
    - static_cast<void (*)(void*)>
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::vector::emplace_back
    - AllocateUntilGuarded
    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:
    - std::move
    - EXPECT_EQ
    - ASSERT_EQ
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - 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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - EXPECT_GT
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    - AllocateUntilGuarded
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_NE
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    - EXPECT_NE
    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:
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateGuardableUntil
    - ExamineSamples
    - std::move
    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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    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:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - guardedpage_allocator
    - std::move
    - ASSERT_EQ
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - IsNormalMemory
    - EXPECT_NE
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - auto::Iterate
    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:
    - guardedpage_allocator
    - std::move
    - static_cast<void (*)(void*)>
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::vector::emplace_back
    - AllocateUntilGuarded
    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:
    - std::move
    - EXPECT_EQ
    - ASSERT_EQ
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - 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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - EXPECT_GT
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    - AllocateUntilGuarded
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - guardedpage_allocator
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - evaluate_alloc
    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:
    - guardedpage_allocator
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    - 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:
    - IsNormalMemory
    - guardedpage_allocator
    - 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:
    - absl::flat_hash_set::insert
    - Iterate
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - verify
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_NE
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    - EXPECT_NE
    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:
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateGuardableUntil
    - ExamineSamples
    - std::move
    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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    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:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - guardedpage_allocator
    - std::move
    - ASSERT_EQ
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - IsNormalMemory
    - EXPECT_NE
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - auto::Iterate
    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:
    - guardedpage_allocator
    - std::move
    - static_cast<void (*)(void*)>
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::vector::emplace_back
    - AllocateUntilGuarded
    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:
    - std::move
    - EXPECT_EQ
    - ASSERT_EQ
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - 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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - EXPECT_GT
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    - AllocateUntilGuarded
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_NE
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    - EXPECT_NE
    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:
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateGuardableUntil
    - ExamineSamples
    - std::move
    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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    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:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - guardedpage_allocator
    - std::move
    - ASSERT_EQ
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - IsNormalMemory
    - EXPECT_NE
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - auto::Iterate
    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:
    - guardedpage_allocator
    - std::move
    - static_cast<void (*)(void*)>
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::vector::emplace_back
    - AllocateUntilGuarded
    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:
    - std::move
    - EXPECT_EQ
    - ASSERT_EQ
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - 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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - EXPECT_GT
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    - AllocateUntilGuarded
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - guardedpage_allocator
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - evaluate_alloc
    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:
    - guardedpage_allocator
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    - 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:
    - IsNormalMemory
    - guardedpage_allocator
    - 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:
    - absl::flat_hash_set::insert
    - Iterate
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - verify
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_NE
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    - EXPECT_NE
    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:
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateGuardableUntil
    - ExamineSamples
    - std::move
    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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    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:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - guardedpage_allocator
    - std::move
    - ASSERT_EQ
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - IsNormalMemory
    - EXPECT_NE
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - auto::Iterate
    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:
    - guardedpage_allocator
    - std::move
    - static_cast<void (*)(void*)>
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::vector::emplace_back
    - AllocateUntilGuarded
    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:
    - std::move
    - EXPECT_EQ
    - ASSERT_EQ
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - 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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - EXPECT_GT
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    - AllocateUntilGuarded
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_NE
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    - EXPECT_NE
    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:
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateGuardableUntil
    - ExamineSamples
    - std::move
    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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    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:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - guardedpage_allocator
    - std::move
    - ASSERT_EQ
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - IsNormalMemory
    - EXPECT_NE
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - auto::Iterate
    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:
    - guardedpage_allocator
    - std::move
    - static_cast<void (*)(void*)>
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::vector::emplace_back
    - AllocateUntilGuarded
    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:
    - std::move
    - EXPECT_EQ
    - ASSERT_EQ
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - 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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - EXPECT_GT
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    - AllocateUntilGuarded
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - guardedpage_allocator
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - evaluate_alloc
    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:
    - guardedpage_allocator
    - tcmalloc::tcmalloc_internal::GuardedPageAllocatorProfileTest::AllocateUntil
    - 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:
    - IsNormalMemory
    - guardedpage_allocator
    - 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:
    - absl::flat_hash_set::insert
    - Iterate
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - verify
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_NE
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    - EXPECT_NE
    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:
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateGuardableUntil
    - ExamineSamples
    - std::move
    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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    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:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - guardedpage_allocator
    - std::move
    - ASSERT_EQ
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - IsNormalMemory
    - EXPECT_NE
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - auto::Iterate
    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:
    - guardedpage_allocator
    - std::move
    - static_cast<void (*)(void*)>
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::vector::emplace_back
    - AllocateUntilGuarded
    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:
    - std::move
    - EXPECT_EQ
    - ASSERT_EQ
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - 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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - EXPECT_GT
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    - AllocateUntilGuarded
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - EXPECT_NE
    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:
    - std::move
    - ExamineSamples
    - AllocateUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    - EXPECT_NE
    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:
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateGuardableUntil
    - ExamineSamples
    - std::move
    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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    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:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - guardedpage_allocator
    - std::move
    - ASSERT_EQ
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - IsNormalMemory
    - EXPECT_NE
    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:
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    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:
    - std::move
    - ASSERT_EQ
    - ::operator delete
    - __size_returning_new
    - AllocateUntilGuarded
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - auto::Iterate
    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:
    - guardedpage_allocator
    - std::move
    - static_cast<void (*)(void*)>
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::vector::emplace_back
    - AllocateUntilGuarded
    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:
    - std::move
    - EXPECT_EQ
    - ASSERT_EQ
    - AllocateGuardableUntil
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - 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:
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - EXPECT_GT
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - IsNormalMemory
    - AllocateUntilGuarded
    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:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - guardedpage_allocator
    - std::move
    - AllocateGuardableUntil
    - ExamineSamples
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - AllocateUntilGuarded
    linkageType: ''
    returnType: void
    signature: void TEST_F(GuardedPageAllocatorProfileTest, DynamicParamChange)
  - BBCount: 32
    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:49,1
    - Dst: CurrentClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:54,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:56,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:62,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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:266,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:274,1
    - Dst: ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:275,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:277,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 165
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 286
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - ValidSizeClasses
    - memset
    - ClassIndex
    - TC_CHECK_EQ
    - fprintf
    - std::copy
    - Length
    - TC_LOG
    - size
    - tcmalloc_internal::Static::size_class_configuration
    - TC_CHECK_LT
    - tcmalloc_internal::Span::IsValidSizeClass
    - empty
    - static_cast<size_t>
    - TC_BUG
    - ColdFeatureActive
    - SetSizeClasses
    - CurrentClasses
    - IsValidSizeClass
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 4
    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:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: '& SizeMap::CurrentClasses()'
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Static::size_class_configuration
    - TC_BUG
    linkageType: ''
    returnType: SizeClasses
    signature: SizeClasses & SizeMap::CurrentClasses()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CurrentClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:54,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:56,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:62,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: 52
    functionDepth: 0
    functionLinenumber: 52
    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: 15
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - TC_LOG
    - Length
    - static_cast<size_t>
    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:
    - absl::Span<const SizeClassInfo>::size
    - std::copy
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    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:
    - absl::Span<const SizeClassInfo>::size
    - TC_LOG
    - absl::Span<const SizeClassInfo>::empty
    - 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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:266,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:274,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:275,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - size_classes
    argTypes:
    - absl::Span<const SizeClassInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 283
    functionName: tcmalloc_internal::SizeMap::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::ClassIndex
    - ColdFeatureActive
    - std::copy
    - memset
    - TC_CHECK_LT
    - TC_CHECK_EQ
    - tcmalloc_internal::SizeMap::SetSizeClasses
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::Init(absl::Span<const SizeClassInfo> size_classes)
  - BBCount: 4
    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:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: '& SizeMap::CurrentClasses()'
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Static::size_class_configuration
    - TC_BUG
    linkageType: ''
    returnType: SizeClasses
    signature: SizeClasses & SizeMap::CurrentClasses()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CurrentClasses
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:54,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:56,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:62,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: 52
    functionDepth: 0
    functionLinenumber: 52
    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: 16
    functionsReached:
    - tcmalloc_internal::Span::IsValidSizeClass
    - TC_LOG
    - Length
    - static_cast<size_t>
    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:
    - absl::Span<const SizeClassInfo>::size
    - std::copy
    - tcmalloc_internal::SizeMap::ValidSizeClasses
    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:
    - absl::Span<const SizeClassInfo>::size
    - TC_LOG
    - absl::Span<const SizeClassInfo>::empty
    - 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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:266,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:274,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndex
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:275,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.cc:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - size_classes
    argTypes:
    - absl::Span<const SizeClassInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 283
    functionName: tcmalloc_internal::SizeMap::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::ClassIndex
    - ColdFeatureActive
    - std::copy
    - memset
    - TC_CHECK_LT
    - TC_CHECK_EQ
    - tcmalloc_internal::SizeMap::SetSizeClasses
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool SizeMap::Init(absl::Span<const SizeClassInfo> size_classes)
  - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Back
    - TC_ASSERT_GT
    - ABSL_PREDICT_FALSE
    - system_allocator
    - reinterpret_cast<char*>
    - Allocate
    - TC_BUG
    - TC_ASSERT_EQ
    - static_cast<size_t>
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Back
    - TC_ASSERT_GT
    - ABSL_PREDICT_FALSE
    - system_allocator
    - reinterpret_cast<char*>
    - Allocate
    - TC_BUG
    - TC_ASSERT_EQ
    - static_cast<size_t>
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Back
    - TC_ASSERT_GT
    - ABSL_PREDICT_FALSE
    - system_allocator
    - reinterpret_cast<char*>
    - Allocate
    - TC_BUG
    - TC_ASSERT_EQ
    - static_cast<size_t>
    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:
    - GetParam
    - NHugePages
    - backing_::resize
    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:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    - EXPECT_EQ
    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
    - size
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    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
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::swap
    - Release
    - auto::first::len
    - auto::len
    - NHugePages
    - std::vector::push_back
    - ASSERT_TRUE
    - std::max
    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:
    - Get
    - auto::valid
    - MarkPages
    - EXPECT_EQ
    - HugePagesRequested
    - CheckPages
    - std::vector::push_back
    - Release
    - NHugePages
    - auto::start
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - HugePagesRequested
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::vector::push_back
    - Release
    - auto::start
    - NHugePages
    - HLFromBytes
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - size
    - EXPECT_EQ
    - system
    - absl::Bernoulli
    - HugeRange::valid
    - Release
    - HugeLength::raw_num
    - absl::Uniform
    - SCOPED_TRACE
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::clear
    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
    - Get
    - EXPECT_EQ
    - HugePagesRequested
    - NHugePages
    - ASSERT_TRUE
    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:
    - AddSpanStats
    - Get
    - EXPECT_EQ
    - GetParam
    - HugeRange::valid
    - HugeRange::start
    - Release
    - Length
    - tcmalloc_internal::ThreadCache::GetStats
    - NHugePages
    - ASSERT_TRUE
    - auto::raw_num
    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:
    - EXPECT_EQ
    - Length
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    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:
    - Get
    - NHugePages
    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:
    - GetParam
    - NHugePages
    - backing_::resize
    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:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    - EXPECT_EQ
    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
    - size
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    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
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::swap
    - Release
    - auto::first::len
    - auto::len
    - NHugePages
    - std::vector::push_back
    - ASSERT_TRUE
    - std::max
    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:
    - Get
    - auto::valid
    - MarkPages
    - EXPECT_EQ
    - HugePagesRequested
    - CheckPages
    - std::vector::push_back
    - Release
    - NHugePages
    - auto::start
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - HugePagesRequested
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::vector::push_back
    - Release
    - auto::start
    - NHugePages
    - HLFromBytes
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - size
    - EXPECT_EQ
    - system
    - absl::Bernoulli
    - HugeRange::valid
    - Release
    - HugeLength::raw_num
    - absl::Uniform
    - SCOPED_TRACE
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::clear
    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
    - Get
    - EXPECT_EQ
    - HugePagesRequested
    - NHugePages
    - ASSERT_TRUE
    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:
    - AddSpanStats
    - Get
    - EXPECT_EQ
    - GetParam
    - HugeRange::valid
    - HugeRange::start
    - Release
    - Length
    - tcmalloc_internal::ThreadCache::GetStats
    - NHugePages
    - ASSERT_TRUE
    - auto::raw_num
    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:
    - EXPECT_EQ
    - Length
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    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:
    - Get
    - NHugePages
    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:
    - GetParam
    - NHugePages
    - backing_::resize
    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:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    - EXPECT_EQ
    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
    - size
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    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
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::swap
    - Release
    - auto::first::len
    - auto::len
    - NHugePages
    - std::vector::push_back
    - ASSERT_TRUE
    - std::max
    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:
    - Get
    - auto::valid
    - MarkPages
    - EXPECT_EQ
    - HugePagesRequested
    - CheckPages
    - std::vector::push_back
    - Release
    - NHugePages
    - auto::start
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - HugePagesRequested
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::vector::push_back
    - Release
    - auto::start
    - NHugePages
    - HLFromBytes
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - size
    - EXPECT_EQ
    - system
    - absl::Bernoulli
    - HugeRange::valid
    - Release
    - HugeLength::raw_num
    - absl::Uniform
    - SCOPED_TRACE
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::clear
    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
    - Get
    - EXPECT_EQ
    - HugePagesRequested
    - NHugePages
    - ASSERT_TRUE
    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:
    - AddSpanStats
    - Get
    - EXPECT_EQ
    - GetParam
    - HugeRange::valid
    - HugeRange::start
    - Release
    - Length
    - tcmalloc_internal::ThreadCache::GetStats
    - NHugePages
    - ASSERT_TRUE
    - auto::raw_num
    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:
    - EXPECT_EQ
    - Length
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    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:
    - Get
    - NHugePages
    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:
    - GetParam
    - NHugePages
    - backing_::resize
    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:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    - EXPECT_EQ
    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
    - size
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    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
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::swap
    - Release
    - auto::first::len
    - auto::len
    - NHugePages
    - std::vector::push_back
    - ASSERT_TRUE
    - std::max
    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:
    - Get
    - auto::valid
    - MarkPages
    - EXPECT_EQ
    - HugePagesRequested
    - CheckPages
    - std::vector::push_back
    - Release
    - NHugePages
    - auto::start
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - HugePagesRequested
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::vector::push_back
    - Release
    - auto::start
    - NHugePages
    - HLFromBytes
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - size
    - EXPECT_EQ
    - system
    - absl::Bernoulli
    - HugeRange::valid
    - Release
    - HugeLength::raw_num
    - absl::Uniform
    - SCOPED_TRACE
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::clear
    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
    - Get
    - EXPECT_EQ
    - HugePagesRequested
    - NHugePages
    - ASSERT_TRUE
    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:
    - AddSpanStats
    - Get
    - EXPECT_EQ
    - GetParam
    - HugeRange::valid
    - HugeRange::start
    - Release
    - Length
    - tcmalloc_internal::ThreadCache::GetStats
    - NHugePages
    - ASSERT_TRUE
    - auto::raw_num
    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:
    - EXPECT_EQ
    - Length
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    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:
    - Get
    - NHugePages
    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:
    - GetParam
    - NHugePages
    - backing_::resize
    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:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    - EXPECT_EQ
    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
    - size
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    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
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::swap
    - Release
    - auto::first::len
    - auto::len
    - NHugePages
    - std::vector::push_back
    - ASSERT_TRUE
    - std::max
    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:
    - Get
    - auto::valid
    - MarkPages
    - EXPECT_EQ
    - HugePagesRequested
    - CheckPages
    - std::vector::push_back
    - Release
    - NHugePages
    - auto::start
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - HugePagesRequested
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::vector::push_back
    - Release
    - auto::start
    - NHugePages
    - HLFromBytes
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - size
    - EXPECT_EQ
    - system
    - absl::Bernoulli
    - HugeRange::valid
    - Release
    - HugeLength::raw_num
    - absl::Uniform
    - SCOPED_TRACE
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::clear
    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
    - Get
    - EXPECT_EQ
    - HugePagesRequested
    - NHugePages
    - ASSERT_TRUE
    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:
    - AddSpanStats
    - Get
    - EXPECT_EQ
    - GetParam
    - HugeRange::valid
    - HugeRange::start
    - Release
    - Length
    - tcmalloc_internal::ThreadCache::GetStats
    - NHugePages
    - ASSERT_TRUE
    - auto::raw_num
    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:
    - EXPECT_EQ
    - Length
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    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:
    - Get
    - NHugePages
    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:
    - GetParam
    - NHugePages
    - backing_::resize
    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:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    - EXPECT_EQ
    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
    - size
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    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
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::swap
    - Release
    - auto::first::len
    - auto::len
    - NHugePages
    - std::vector::push_back
    - ASSERT_TRUE
    - std::max
    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:
    - Get
    - auto::valid
    - MarkPages
    - EXPECT_EQ
    - HugePagesRequested
    - CheckPages
    - std::vector::push_back
    - Release
    - NHugePages
    - auto::start
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - HugePagesRequested
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::vector::push_back
    - Release
    - auto::start
    - NHugePages
    - HLFromBytes
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - size
    - EXPECT_EQ
    - system
    - absl::Bernoulli
    - HugeRange::valid
    - Release
    - HugeLength::raw_num
    - absl::Uniform
    - SCOPED_TRACE
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::clear
    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
    - Get
    - EXPECT_EQ
    - HugePagesRequested
    - NHugePages
    - ASSERT_TRUE
    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:
    - AddSpanStats
    - Get
    - EXPECT_EQ
    - GetParam
    - HugeRange::valid
    - HugeRange::start
    - Release
    - Length
    - tcmalloc_internal::ThreadCache::GetStats
    - NHugePages
    - ASSERT_TRUE
    - auto::raw_num
    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:
    - EXPECT_EQ
    - Length
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    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:
    - Get
    - NHugePages
    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:
    - GetParam
    - NHugePages
    - backing_::resize
    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:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    - EXPECT_EQ
    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
    - size
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    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
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::swap
    - Release
    - auto::first::len
    - auto::len
    - NHugePages
    - std::vector::push_back
    - ASSERT_TRUE
    - std::max
    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:
    - Get
    - auto::valid
    - MarkPages
    - EXPECT_EQ
    - HugePagesRequested
    - CheckPages
    - std::vector::push_back
    - Release
    - NHugePages
    - auto::start
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - HugePagesRequested
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::vector::push_back
    - Release
    - auto::start
    - NHugePages
    - HLFromBytes
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - size
    - EXPECT_EQ
    - system
    - absl::Bernoulli
    - HugeRange::valid
    - Release
    - HugeLength::raw_num
    - absl::Uniform
    - SCOPED_TRACE
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::clear
    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
    - Get
    - EXPECT_EQ
    - HugePagesRequested
    - NHugePages
    - ASSERT_TRUE
    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:
    - AddSpanStats
    - Get
    - EXPECT_EQ
    - GetParam
    - HugeRange::valid
    - HugeRange::start
    - Release
    - Length
    - tcmalloc_internal::ThreadCache::GetStats
    - NHugePages
    - ASSERT_TRUE
    - auto::raw_num
    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:
    - EXPECT_EQ
    - Length
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    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:
    - Get
    - NHugePages
    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:
    - GetParam
    - NHugePages
    - backing_::resize
    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:
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::GetActual
    - EXPECT_EQ
    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
    - size
    - tcmalloc::tcmalloc_internal::HugeAllocatorTest::HugePagesReceived
    - EXPECT_EQ
    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
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - ASSERT_EQ
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::swap
    - Release
    - auto::first::len
    - auto::len
    - NHugePages
    - std::vector::push_back
    - ASSERT_TRUE
    - std::max
    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:
    - Get
    - auto::valid
    - MarkPages
    - EXPECT_EQ
    - HugePagesRequested
    - CheckPages
    - std::vector::push_back
    - Release
    - NHugePages
    - auto::start
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - MarkPages
    - absl::Uniform<int32_t>
    - HugePagesRequested
    - absl::LogUniform<int32_t>
    - CheckPages
    - std::vector::push_back
    - Release
    - auto::start
    - NHugePages
    - HLFromBytes
    - ASSERT_TRUE
    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:
    - Get
    - auto::valid
    - size
    - EXPECT_EQ
    - system
    - absl::Bernoulli
    - HugeRange::valid
    - Release
    - HugeLength::raw_num
    - absl::Uniform
    - SCOPED_TRACE
    - NHugePages
    - std::vector::size
    - std::vector::push_back
    - ASSERT_TRUE
    - std::vector::clear
    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
    - Get
    - EXPECT_EQ
    - HugePagesRequested
    - NHugePages
    - ASSERT_TRUE
    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:
    - AddSpanStats
    - Get
    - EXPECT_EQ
    - GetParam
    - HugeRange::valid
    - HugeRange::start
    - Release
    - Length
    - tcmalloc_internal::ThreadCache::GetStats
    - NHugePages
    - ASSERT_TRUE
    - auto::raw_num
    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:
    - EXPECT_EQ
    - Length
    - auto::raw_num
    - HugeAllocator*::AddSpanStats
    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:
    - Get
    - NHugePages
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 121
    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: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    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: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    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: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    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: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    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:67,1
    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: 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    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: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    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: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    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: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    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: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    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: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    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: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    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: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    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: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    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:67,1
    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: 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    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: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    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: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    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: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    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: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    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: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    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: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:42,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:43,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:44,1
    - Dst: value_or
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:53,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:54,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:56,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:57,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:59,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:60,1
    - Dst: value_or
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:62,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:63,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:69,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:84,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:85,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:91,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:98,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:99,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:101,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:102,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:105,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:106,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:119,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:121,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:123,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:124,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:128,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:130,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:133,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: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:163,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:175,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:177,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:178,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:180,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:181,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:181,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:182,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:192,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:194,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:195,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:197,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:198,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:198,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:199,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:201,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:209,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:211,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:214,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:224,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:226,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:227,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:229,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:231,1
    - Dst: FormatConvert
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:232,1
    - Dst: FormatConvert
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 235
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - gwp_asan_state
    - absl::MakeSpan
    - FormatConvert
    - PageIdContainingTagged
    - sizemap
    - RecordCrash
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - PrintStackTrace
    - TC_BUG
    - value_or
    - TC_LOG
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:42,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:43,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:44,1
    - Dst: std::optional<size_t>::value_or
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:47,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:53,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:54,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:56,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:57,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:59,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:60,1
    - Dst: std::optional<size_t>::value_or
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:62,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:63,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - ' state'
    - ptr
    - ' alloc'
    - size
    - requested_size
    - allocated_size
    argTypes:
    - Static
    - void*
    - SampledAllocation
    - size_t
    - size_t
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: ReportMismatchedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 2
    functionsReached:
    - std::optional<size_t>::value_or
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - gwp_asan_state
    - absl::MakeSpan
    - RecordCrash
    - PrintStackTrace
    - TC_BUG
    - TC_LOG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportMismatchedDelete(\n    Static& state,
      const void* ptr, 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:84,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:85,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:87,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:91,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:98,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:99,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:101,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:102,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:105,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' state'
    - ptr
    - size
    - minimum_size
    - maximum_size
    argTypes:
    - Static
    - void*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 111
    functionName: ReportMismatchedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 2
    functionsReached:
    - pagemap
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - gwp_asan_state
    - absl::MakeSpan
    - PageIdContainingTagged
    - sizemap
    - RecordCrash
    - PrintStackTrace
    - TC_BUG
    - TC_LOG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportMismatchedDelete(Static& state,\n                                                    const
      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:119,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:121,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:123,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:124,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:128,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:130,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' state'
    - object
    - page_size_class
    - object_size_class
    argTypes:
    - Static
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 143
    functionName: ReportMismatchedSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 0
    functionsReached:
    - gwp_asan_state
    - sizemap
    - RecordCrash
    - TC_BUG
    - TC_LOG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportMismatchedSizeClass(Static& state,\n
      \                                                      const 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:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - gwp_asan_state
    - absl::MakeSpan
    - RecordCrash
    - TC_BUG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE ReportDoubleFree(Static& state, const 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: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:163,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' state'
    - ptr
    argTypes:
    - Static
    - 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: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - gwp_asan_state
    - absl::MakeSpan
    - RecordCrash
    - TC_BUG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportCorruptedFree(Static& state,\n                                                 const
      void* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:175,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:177,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:178,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:180,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:181,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:181,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:182,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:184,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: 185
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: ReportCorruptedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - gwp_asan_state
    - absl::MakeSpan
    - RecordCrash
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - TC_BUG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportCorruptedFree(\n    Static& state, std::align_val_t
      expected_alignment, const void* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:192,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:194,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:195,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:197,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:198,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:198,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:199,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' state'
    - expected_alignment
    - ptr
    - allocation_stack
    argTypes:
    - Static
    - std::align_val_t
    - void*
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: ReportCorruptedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::countr_zero
    - gwp_asan_state
    - absl::MakeSpan
    - RecordCrash
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - TC_BUG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportCorruptedFree(\n    Static& state, std::align_val_t
      expected_alignment, const void* ptr,\n    absl::Span<void*> allocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:209,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:211,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:214,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' state'
    - ptr
    - alloc_type
    - dealloc_type
    - allocation_stack
    argTypes:
    - Static
    - void*
    - Profile::Sample::AllocationType
    - Profile::Sample::AllocationType
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: ReportMismatchedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - gwp_asan_state
    - absl::MakeSpan
    - RecordCrash
    - TC_BUG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportMismatchedFree(\n    Static& state,
      const void* ptr, Profile::Sample::AllocationType alloc_type,\n    Profile::Sample::AllocationType
      dealloc_type,\n    absl::Span<void*> allocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:224,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:226,1
    - Dst: gwp_asan_state
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:227,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:229,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:231,1
    - Dst: FormatConvert
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:232,1
    - Dst: FormatConvert
      Src: /src/tcmalloc/tcmalloc/error_reporting.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' state'
    - ptr
    - alloc_align
    - dealloc_align
    - allocation_stack
    argTypes:
    - Static
    - void*
    - std::optional<std::align_val_t>
    - std::optional<std::align_val_t>
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: ReportMismatchedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/error_reporting.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - gwp_asan_state
    - absl::MakeSpan
    - FormatConvert
    - RecordCrash
    - TC_BUG
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE ReportMismatchedFree(\n    Static& state,
      const void* ptr, std::optional<std::align_val_t> alloc_align,\n    std::optional<std::align_val_t>
      dealloc_align,\n    absl::Span<void*> allocation_stack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc::MallocExtension::SetRegionFactory
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:64,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:85,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::first_page
    - Span*::num_pages
    - Range
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: "void Delete(Span* s, SpanAllocInfo span_alloc_info,\n              MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:97,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 1
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:126,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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,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: Length
      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:132,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,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: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::counts_for
    - ASSERT_EQ
    - NewAligned
    - info
    - Length
    - New
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainsRegex
    - Length
    - EXPECT_THAT
    - New
    - Print
    - Delete
    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:163,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:164,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:168,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:178,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:187,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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:197,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:198,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:202,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:212,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:230,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:231,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:233,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:234,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - metadata_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc::MallocExtension::SetRegionFactory
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:64,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:85,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::first_page
    - Span*::num_pages
    - Range
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: "void Delete(Span* s, SpanAllocInfo span_alloc_info,\n              MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:97,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 2
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:126,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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,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: Length
      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:132,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,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: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::counts_for
    - ASSERT_EQ
    - NewAligned
    - info
    - Length
    - New
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainsRegex
    - Length
    - EXPECT_THAT
    - New
    - Print
    - Delete
    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:163,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:164,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:168,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:178,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:187,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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:197,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:198,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:202,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:212,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:230,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:231,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:233,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:234,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - metadata_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc::MallocExtension::SetRegionFactory
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:64,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:85,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::first_page
    - Span*::num_pages
    - Range
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: "void Delete(Span* s, SpanAllocInfo span_alloc_info,\n              MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:97,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 3
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:126,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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,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: Length
      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:132,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,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: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::counts_for
    - ASSERT_EQ
    - NewAligned
    - info
    - Length
    - New
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainsRegex
    - Length
    - EXPECT_THAT
    - New
    - Print
    - Delete
    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:163,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:164,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:168,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:178,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:187,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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:197,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:198,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:202,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:212,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:230,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:231,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:233,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:234,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - metadata_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc::MallocExtension::SetRegionFactory
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:64,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:85,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::first_page
    - Span*::num_pages
    - Range
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: "void Delete(Span* s, SpanAllocInfo span_alloc_info,\n              MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:97,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 4
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:126,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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,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: Length
      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:132,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,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: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::counts_for
    - ASSERT_EQ
    - NewAligned
    - info
    - Length
    - New
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainsRegex
    - Length
    - EXPECT_THAT
    - New
    - Print
    - Delete
    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:163,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:164,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:168,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:178,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:187,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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:197,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:198,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:202,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:212,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:230,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:231,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:233,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:234,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - metadata_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc::MallocExtension::SetRegionFactory
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:64,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:85,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 5
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::first_page
    - Span*::num_pages
    - Range
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: "void Delete(Span* s, SpanAllocInfo span_alloc_info,\n              MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:97,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 5
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:126,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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,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: Length
      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:132,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,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: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::counts_for
    - ASSERT_EQ
    - NewAligned
    - info
    - Length
    - New
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainsRegex
    - Length
    - EXPECT_THAT
    - New
    - Print
    - Delete
    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:163,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:164,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:168,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:178,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:187,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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:197,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:198,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:202,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:212,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:230,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:231,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:233,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:234,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - metadata_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc::MallocExtension::SetRegionFactory
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:64,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:85,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::first_page
    - Span*::num_pages
    - Range
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: "void Delete(Span* s, SpanAllocInfo span_alloc_info,\n              MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:97,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 6
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:126,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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,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: Length
      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:132,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,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: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::counts_for
    - ASSERT_EQ
    - NewAligned
    - info
    - Length
    - New
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainsRegex
    - Length
    - EXPECT_THAT
    - New
    - Print
    - Delete
    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:163,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:164,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:168,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:178,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:187,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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:197,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:198,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:202,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:212,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:230,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:231,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:233,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:234,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - metadata_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc::MallocExtension::SetRegionFactory
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:64,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:85,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 7
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::first_page
    - Span*::num_pages
    - Range
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: "void Delete(Span* s, SpanAllocInfo span_alloc_info,\n              MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:97,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 7
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:126,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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,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: Length
      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:132,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,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: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::counts_for
    - ASSERT_EQ
    - NewAligned
    - info
    - Length
    - New
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainsRegex
    - Length
    - EXPECT_THAT
    - New
    - Print
    - Delete
    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:163,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:164,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:168,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:178,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:187,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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:197,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:198,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:202,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:212,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:230,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:231,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:233,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:234,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - metadata_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, b270916852)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:54,1
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:56,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc::MallocExtension::SetRegionFactory
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:64,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - 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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:81,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:84,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:85,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:87,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Delete
    - Span*::first_page
    - Span*::num_pages
    - Range
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    linkageType: ''
    returnType: void
    signature: "void Delete(Span* s, SpanAllocInfo span_alloc_info,\n              MemoryTag
      tag = MemoryTag::kNormal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:96,1
    - Dst: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:97,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 8
    functionsReached:
    - std::string
    - tcmalloc::tcmalloc_internal::PageAllocatorTest::Print
    - std::vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string Print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:113,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: NewAligned
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:122,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:126,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: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:129,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: Length
      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:132,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:135,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: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:143,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: auto::counts_for
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - auto::counts_for
    - ASSERT_EQ
    - NewAligned
    - info
    - Length
    - New
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(PageAllocatorTest, Record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:156,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainsRegex
    - Length
    - EXPECT_THAT
    - New
    - Print
    - Delete
    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:163,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:164,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:168,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:169,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:178,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:181,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:186,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:187,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:190,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:191,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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:197,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:198,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:202,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:203,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:212,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:220,1
    - Dst: set_limit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:222,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:223,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:227,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: limit_hits
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:229,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:230,1
    - Dst: successful_shrinks_after_limit_hit
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:231,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:233,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:234,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/page_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/page_allocator_test.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - metadata_bytes
    - stats
    - EXPECT_EQ
    - successful_shrinks_after_limit_hit
    - Length
    - EXPECT_LE
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - set_limit
    - limit_hits
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - New
    - Delete
    - ShrinkToUsageLimit
    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::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:124,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:127,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:129,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:129,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:136,1
    - Dst: TCMalloc_Internal_SetHeapSizeHardLimit
      Src: /src/tcmalloc/tcmalloc/parameters.cc:140,1
    - Dst: hpaa_subrelease_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:144,1
    - Dst: TCMalloc_Internal_SetHPAASubrelease
      Src: /src/tcmalloc/tcmalloc/parameters.cc:148,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:154,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:155,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:161,1
    - Dst: DefaultOrDebugValue
      Src: /src/tcmalloc/tcmalloc/parameters.cc:170,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:210,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:212,1
    - Dst: DefaultOrDebugValue
      Src: /src/tcmalloc/tcmalloc/parameters.cc:224,1
    - Dst: background_process_actions_enabled_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:228,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:233,1
    - Dst: background_process_sleep_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:234,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:238,1
    - Dst: skip_subrelease_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:239,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:243,1
    - Dst: skip_subrelease_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:244,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:248,1
    - Dst: use_userspace_collapse_heuristics_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:252,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:262,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:263,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:265,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:267,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:280,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:281,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:281,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/parameters.cc:289,1
    - Dst: default_want_disable_dynamic_slabs
      Src: /src/tcmalloc/tcmalloc/parameters.cc:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 302
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ZeroDuration
    - skip_subrelease_long_interval_ns
    - absl::Nanoseconds
    - TCMalloc_Internal_SetHPAASubrelease
    - DefaultOrDebugValue
    - background_process_sleep_interval_ns
    - background_process_actions_enabled_ptr
    - default_want_disable_dynamic_slabs
    - absl::base_internal::LowLevelCallOnce
    - store
    - cpu_cache
    - absl::ToInt64Nanoseconds
    - use_userspace_collapse_heuristics_enabled
    - IsExperimentActive
    - tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    - skip_subrelease_short_interval_ns
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - TCMalloc_Internal_SetHeapSizeHardLimit
    - hpaa_subrelease_ptr
    - page_allocator
    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
    - store
    - absl::base_internal::LowLevelCallOnce
    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:
    - store
    - absl::base_internal::LowLevelCallOnce
    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:
    - store
    - absl::ToInt64Nanoseconds
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - store
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ZeroDuration
    - absl::ToInt64Nanoseconds
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & skip_subrelease_short_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:124,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:127,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:129,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: tcmalloc_internal::skip_subrelease_long_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ZeroDuration
    - absl::ToInt64Nanoseconds
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & skip_subrelease_long_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    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:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    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:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    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:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    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:154,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:155,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: tcmalloc_internal::Parameters::huge_cache_release_time
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - IsExperimentActive
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::huge_cache_release_time()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:210,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: tcmalloc_internal::use_userspace_collapse_heuristics_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: std::atomic<bool>
    signature: std::atomic<bool> & use_userspace_collapse_heuristics_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background_process_actions_enabled_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    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:233,1
    - Dst: background_process_sleep_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    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:238,1
    - Dst: skip_subrelease_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    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:243,1
    - Dst: skip_subrelease_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - skip_subrelease_long_interval_ns
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: tcmalloc_internal::Parameters::usermode_hugepage_collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool Parameters::usermode_hugepage_collapse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_userspace_collapse_heuristics_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - use_userspace_collapse_heuristics_enabled
    linkageType: ''
    returnType: bool
    signature: bool Parameters::use_userspace_collapse_heuristics()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:262,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:263,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:265,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::Parameters::priority_list_length
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 7
    functionsReached:
    - IsExperimentActive
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: central_freelist_internal::PriorityListLength
    signature: central_freelist_internal::PriorityListLength Parameters::priority_list_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:280,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:281,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::Parameters::span_lifetime_tracking
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: central_freelist_internal::LifetimeTracking
    signature: central_freelist_internal::LifetimeTracking Parameters::span_lifetime_tracking()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cache
      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::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:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    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
    - store
    - absl::base_internal::LowLevelCallOnce
    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:
    - store
    - absl::base_internal::LowLevelCallOnce
    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:
    - store
    - absl::ToInt64Nanoseconds
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - store
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ZeroDuration
    - absl::ToInt64Nanoseconds
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & skip_subrelease_short_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/parameters.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:124,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:127,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:129,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: tcmalloc_internal::skip_subrelease_long_interval_ns
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::ZeroDuration
    - absl::ToInt64Nanoseconds
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: std::atomic<int64_t>
    signature: std::atomic<int64_t> & skip_subrelease_long_interval_ns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    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:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    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:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    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:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    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:154,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:155,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:155,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:161,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: tcmalloc_internal::Parameters::huge_cache_release_time
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - IsExperimentActive
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::huge_cache_release_time()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:210,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:211,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: tcmalloc_internal::use_userspace_collapse_heuristics_enabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: std::atomic<bool>
    signature: std::atomic<bool> & use_userspace_collapse_heuristics_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: background_process_actions_enabled_ptr
      Src: /src/tcmalloc/tcmalloc/parameters.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    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:233,1
    - Dst: background_process_sleep_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    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:238,1
    - Dst: skip_subrelease_short_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    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:243,1
    - Dst: skip_subrelease_long_interval_ns
      Src: /src/tcmalloc/tcmalloc/parameters.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - skip_subrelease_long_interval_ns
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration Parameters::filler_skip_subrelease_long_interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: tcmalloc_internal::Parameters::usermode_hugepage_collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool Parameters::usermode_hugepage_collapse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_userspace_collapse_heuristics_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - use_userspace_collapse_heuristics_enabled
    linkageType: ''
    returnType: bool
    signature: bool Parameters::use_userspace_collapse_heuristics()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:262,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:263,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:265,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 272
    functionName: tcmalloc_internal::Parameters::priority_list_length
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 7
    functionsReached:
    - IsExperimentActive
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: central_freelist_internal::PriorityListLength
    signature: central_freelist_internal::PriorityListLength Parameters::priority_list_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/parameters.cc:280,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:281,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/parameters.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::Parameters::span_lifetime_tracking
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - IsExperimentActive
    - store
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: central_freelist_internal::LifetimeTracking
    signature: central_freelist_internal::LifetimeTracking Parameters::span_lifetime_tracking()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cache
      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::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:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    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:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 311
    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:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 315
    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:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    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:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 323
    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: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_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: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_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: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_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:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 339
    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:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 344
    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:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    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:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 364
    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:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    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::background_release_rate
      Src: /src/tcmalloc/tcmalloc/parameters.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 374
    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:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rate
    argTypes:
    - tcmalloc::MallocExtension::BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 379
    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:382,1
    - Dst: static_cast<tcmalloc::MallocExtension::BytesPerSecond>
      Src: /src/tcmalloc/tcmalloc/parameters.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    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:388,1
    - Dst: tcmalloc_internal::Parameters::heap_size_hard_limit
      Src: /src/tcmalloc/tcmalloc/parameters.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: TCMalloc_Internal_GetHeapSizeHardLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - InitIfNecessary
    - tcmalloc_internal::Parameters::heap_size_hard_limit
    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:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 394
    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:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 398
    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::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/parameters.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 402
    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:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 406
    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:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 410
    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:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 414
    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:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 418
    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:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/parameters.cc:430,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/parameters.cc:432,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:438,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/parameters.cc:439,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/parameters.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: TCMalloc_Internal_SetHeapSizeHardLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 3
    functionsReached:
    - InitIfNecessary
    - TC_LOG
    - tcmalloc_internal::max
    - page_allocator
    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:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 448
    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:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    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:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: TCMalloc_Internal_SetUsermodeHugepageCollapse
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetUsermodeHugepageCollapse(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    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:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    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:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    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:474,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/parameters.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 476
    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:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    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:486,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
      Src: /src/tcmalloc/tcmalloc/parameters.cc:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 494
    functionName: TCMalloc_Internal_SetPerCpuCachesEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesEnabledNoBuildRequirement
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetPerCpuCachesEnabled(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    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:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    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:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 507
    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:510,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: TCMalloc_Internal_SetBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 1
    functionsReached:
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::background_process_sleep_interval_ns
    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:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 517
    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:521,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 523
    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:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 528
    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:532,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/parameters.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::skip_subrelease_long_interval_ns
    linkageType: ''
    returnType: void
    signature: "void TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval(\n
      \   absl::Duration v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 538
    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:543,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    - tcmalloc_internal::want_disable_dynamic_slabs
    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:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 549
    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:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    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:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 558
    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:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    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:566,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/parameters.cc:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: TCMalloc_Internal_GetMinHotAccessHint
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - tcmalloc_internal::Parameters::min_hot_access_hint
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t TCMalloc_Internal_GetMinHotAccessHint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:570,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/parameters.cc:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: TCMalloc_Internal_SetMinHotAccessHint
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 3
    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::Parameters::release_free_swapped
      Src: /src/tcmalloc/tcmalloc/parameters.cc:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: TCMalloc_Internal_GetReleaseFreeSwapped
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::release_free_swapped
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetReleaseFreeSwapped()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/parameters.cc:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: TCMalloc_Internal_SetReleaseFreeSwapped
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetReleaseFreeSwapped(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/parameters.cc:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: TCMalloc_Internal_GetUseUserspaceCollapseHeuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    linkageType: ''
    returnType: bool
    signature: bool TCMalloc_Internal_GetUseUserspaceCollapseHeuristics()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::use_userspace_collapse_heuristics_enabled
      Src: /src/tcmalloc/tcmalloc/parameters.cc:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: TCMalloc_Internal_SetUseUserspaceCollapseHeuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::use_userspace_collapse_heuristics_enabled
    linkageType: ''
    returnType: void
    signature: void TCMalloc_Internal_SetUseUserspaceCollapseHeuristics(bool 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:
    - EXPECT_GT
    - GetMaxCapacityFunctor
    - EstimateSlabBytes
    - 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: 1
    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: 1
    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:
    - mmap
    - static_cast<int64_t>
    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:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '& sizemap() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - has_value
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:175,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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:182,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - has_value
    - ColdSizeClasses
    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:190,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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:220,1
    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::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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:275,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:276,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:279,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:308,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - NumActiveShards
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    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:319,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:326,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:332,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:345,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:361,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:372,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NumActiveShards
    - CpuCache::Deactivate
    - TC_ASSERT_GT
    - shard_initialized
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    - EXPECT_EQ
    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:383,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:394,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:397,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:400,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:405,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:422,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:443,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:445,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:447,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:449,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:472,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:475,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:485,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:504,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:505,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:517,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:520,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:532,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:535,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:554,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:556,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::HasPopulated
    - EXPECT_GT
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - ASSUME
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::UsedBytes
    - CpuCache::Allocated
    - NumCPUs
    - CpuCache::forwarder
    - absl::StrCat
    - EXPECT_EQ
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - EXPECT_FALSE
    - EXPECT_TRUE
    - CpuCache::TotalObjectsOfClass
    - count_cores
    - CpuCache::Deactivate
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Deallocate
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - EXPECT_LE
    - CpuCache::TotalUsedBytes
    - CpuCache::Activate
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - EXPECT_GE
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::Unallocated
    - EXPECT_NE
    - CpuCache::Allocate
    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:569,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:576,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:581,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:587,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:602,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:604,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:615,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:626,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:630,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 632
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - EXPECT_EQ
    - CpuCache::Deallocate
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::GetTotalCacheMissStats
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocate
    - NumCPUs
    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:635,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 1
    functionsReached:
    - absl::Milliseconds
    - load
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - absl::SleepFor
    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:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ShuffleCpuCaches
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:662,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:668,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:669,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:673,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:677,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:679,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:686,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: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - std::make_pair
    - load
    - std::vector::empty
    - Deallocate
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - std::vector::back
    - std::vector::pop_back
    - std::vector::size
    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:695,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:699,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,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: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - Allocate
    - Deallocate
    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:715,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:723,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:724,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:735,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:739,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:754,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:761,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:769,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:789,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - ASSERT_LT
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::CacheLimit
    - CpuCache::Activate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetCapacityOfSizeClass
    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:807,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:813,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:814,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ResizeSizeClassMaxCapacities
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:820,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:825,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:829,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:840,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:849,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:851,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:860,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 870
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Activate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:873,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:882,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:886,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:895,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:897,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:901,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:908,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:914,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:919,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:935,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:937,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:941,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:945,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:948,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 951
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:956,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:970,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:977,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:997,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1000,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1012,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1020,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1022,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1027,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1031
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - EXPECT_LT
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - EXPECT_EQ
    - CpuCache::GetPerCpuSlabShiftBounds
    - std::thread
    - repeat_dynamic_slab_ops
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - NumCPUs
    - absl::SleepFor
    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:1044,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1051,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1063,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1066,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1076,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1089,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1091,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1093,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1102,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1120,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1134
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - ASSERT_GT
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::ResizeSizeClasses
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocated
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1143,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1144,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: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    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:1153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1164,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1167,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1175
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - Allocate
    - Reclaim
    - Deallocate
    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:1183,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1196,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1202,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1204,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1207,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1214,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1220,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1222,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1238
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - ASSERT_LT
    - ASSERT_GT
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    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:1242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1245,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1253,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1274,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1279,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1285
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - std::thread
    - std::vector::push_back
    - std::ref
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - NumCPUs
    - absl::SleepFor
    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:1290,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1296,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1299,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1324,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1326,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1327,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - CpuCache::ResizeSizeClassMaxCapacities
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1335,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1341,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1346,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1356,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1364,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1382,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    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:1386,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1393,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1394,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1412,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1416,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1417,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1423,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1426,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1427,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1432,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1435,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1438,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1445,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1446,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:1451,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1452,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:1458,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::Activate
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Allocated
    - CpuCache::Capacity
    - EXPECT_LT
    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:1469,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1474,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1491,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1500,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1505,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1519,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1525,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1550,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1554,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1571,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1584
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - absl::Uniform<int32_t>
    - CpuCache::HasPopulated
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::TryReclaimingCaches
    - CpuCache::GetNumReclaims
    - EXPECT_TRUE
    - CpuCache::GetTotalCacheMissStats
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::UsedBytes
    - CpuCache::Activate
    - absl::StrFormat
    - NumCPUs
    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:1587,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1596,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1620,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1631,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1636,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1642,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1643,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1647,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - CpuCache::Deactivate
    - CpuCache::HasPopulated
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - static_cast<double>
    - CpuCache::Activate
    - CpuCache::GetSizeClassCapacityStats
    - absl::StrFormat
    - NumCPUs
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    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:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    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:1668,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1670
    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:1674,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1675,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1678,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1679,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1691,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1692,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1695,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1698,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1715,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1716,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1730,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1735,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1740,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1754,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1755,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1760,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1761,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - HasPopulated
    - MetadataMemoryUsage
    - Allocate
    - benchmark::DoNotOptimize
    - Print
    - GetTotalCacheMissStats
    - TotalUsedBytes
    - TryReclaimingCaches
    - static_cast<char*>
    - std::string::resize
    - UsedBytes
    - GetAndUpdateIntervalCacheMissStats
    - GetIntervalCacheMissStats
    - GTEST_FAIL
    - ShuffleCpuCaches
    - absl::Uniform
    - CacheLimit
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - GetSizeClassCapacityStats
    - std::string::data
    - PrintInPbtxt
    - std::string::size
    - EXPECT_GE
    - Capacity
    - GetNumReclaims
    - load
    - Unallocated
    - Deallocate
    - Reclaim
    - Allocated
    - EXPECT_NE
    - TotalObjectsOfClass
    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: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    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: 1795
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    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:1806,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1822,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: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1826,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1829,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1840,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - std::string::data
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - absl::SleepFor
    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: 1813
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1813
    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:1857,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1869,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1870,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1877,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1892,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1904,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1910,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1921,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1927
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - absl::SleepFor
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - std::optional::emplace
    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: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    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: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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    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: 1
    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: 1
    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:
    - mmap
    - static_cast<int64_t>
    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:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '& sizemap() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - has_value
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:175,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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:182,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - has_value
    - ColdSizeClasses
    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:190,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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:220,1
    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::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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:275,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:276,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:279,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:308,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - NumActiveShards
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    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:319,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:326,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:332,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:345,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:361,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:372,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NumActiveShards
    - CpuCache::Deactivate
    - TC_ASSERT_GT
    - shard_initialized
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    - EXPECT_EQ
    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:383,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:394,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:397,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:400,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:405,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:422,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:443,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:445,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:447,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:449,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:472,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:475,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:485,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:504,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:505,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:517,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:520,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:532,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:535,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:554,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:556,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::HasPopulated
    - EXPECT_GT
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - ASSUME
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::UsedBytes
    - CpuCache::Allocated
    - NumCPUs
    - CpuCache::forwarder
    - absl::StrCat
    - EXPECT_EQ
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - EXPECT_FALSE
    - EXPECT_TRUE
    - CpuCache::TotalObjectsOfClass
    - count_cores
    - CpuCache::Deactivate
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Deallocate
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - EXPECT_LE
    - CpuCache::TotalUsedBytes
    - CpuCache::Activate
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - EXPECT_GE
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::Unallocated
    - EXPECT_NE
    - CpuCache::Allocate
    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:569,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:576,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:581,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:587,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:602,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:604,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:615,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:626,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:630,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 632
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - EXPECT_EQ
    - CpuCache::Deallocate
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::GetTotalCacheMissStats
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocate
    - NumCPUs
    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:635,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - absl::Milliseconds
    - load
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - absl::SleepFor
    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:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ShuffleCpuCaches
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:662,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:668,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:669,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:673,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:677,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:679,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:686,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: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - std::make_pair
    - load
    - std::vector::empty
    - Deallocate
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - std::vector::back
    - std::vector::pop_back
    - std::vector::size
    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:695,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:699,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,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: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - Allocate
    - Deallocate
    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:715,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:723,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:724,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:735,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:739,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:754,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:761,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:769,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:789,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - ASSERT_LT
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::CacheLimit
    - CpuCache::Activate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetCapacityOfSizeClass
    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:807,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:813,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:814,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ResizeSizeClassMaxCapacities
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:820,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:825,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:829,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:840,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:849,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:851,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:860,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 870
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Activate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:873,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:882,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:886,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:895,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:897,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:901,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:908,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:914,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:919,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:935,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:937,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:941,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:945,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:948,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 951
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:956,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:970,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:977,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:997,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1000,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1012,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1020,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1022,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1027,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1031
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - EXPECT_LT
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - EXPECT_EQ
    - CpuCache::GetPerCpuSlabShiftBounds
    - std::thread
    - repeat_dynamic_slab_ops
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - NumCPUs
    - absl::SleepFor
    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:1044,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1051,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1063,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1066,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1076,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1089,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1091,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1093,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1102,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1120,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1134
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - ASSERT_GT
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::ResizeSizeClasses
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocated
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1143,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1144,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: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    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:1153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1164,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1167,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1175
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::resize
    - Allocate
    - Reclaim
    - Deallocate
    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:1183,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1196,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1202,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1204,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1207,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1214,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1220,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1222,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1238
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - ASSERT_LT
    - ASSERT_GT
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    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:1242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1245,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1253,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1274,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1279,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1285
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - std::thread
    - std::vector::push_back
    - std::ref
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - NumCPUs
    - absl::SleepFor
    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:1290,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1296,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1299,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1324,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1326,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1327,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - CpuCache::ResizeSizeClassMaxCapacities
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1335,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1341,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1346,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1356,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1364,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1382,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    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:1386,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1393,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1394,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1412,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1416,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1417,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1423,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1426,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1427,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1432,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1435,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1438,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1445,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1446,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:1451,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1452,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:1458,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::Activate
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Allocated
    - CpuCache::Capacity
    - EXPECT_LT
    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:1469,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1474,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1491,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1500,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1505,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1519,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1525,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1550,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1554,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1571,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1584
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - absl::Uniform<int32_t>
    - CpuCache::HasPopulated
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::TryReclaimingCaches
    - CpuCache::GetNumReclaims
    - EXPECT_TRUE
    - CpuCache::GetTotalCacheMissStats
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::UsedBytes
    - CpuCache::Activate
    - absl::StrFormat
    - NumCPUs
    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:1587,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1596,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1620,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1631,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1636,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1642,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1643,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1647,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - CpuCache::Deactivate
    - CpuCache::HasPopulated
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - static_cast<double>
    - CpuCache::Activate
    - CpuCache::GetSizeClassCapacityStats
    - absl::StrFormat
    - NumCPUs
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    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:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    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:1668,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1670
    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:1674,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1675,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1678,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1679,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1691,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1692,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1695,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1698,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1715,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1716,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1730,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1735,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1740,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1754,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1755,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1760,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1761,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - HasPopulated
    - MetadataMemoryUsage
    - Allocate
    - benchmark::DoNotOptimize
    - Print
    - GetTotalCacheMissStats
    - TotalUsedBytes
    - TryReclaimingCaches
    - static_cast<char*>
    - std::string::resize
    - UsedBytes
    - GetAndUpdateIntervalCacheMissStats
    - GetIntervalCacheMissStats
    - GTEST_FAIL
    - ShuffleCpuCaches
    - absl::Uniform
    - CacheLimit
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - GetSizeClassCapacityStats
    - std::string::data
    - PrintInPbtxt
    - std::string::size
    - EXPECT_GE
    - Capacity
    - GetNumReclaims
    - load
    - Unallocated
    - Deallocate
    - Reclaim
    - Allocated
    - EXPECT_NE
    - TotalObjectsOfClass
    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: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    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: 1795
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    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:1806,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1822,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: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1826,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1829,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1840,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - std::string::data
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - absl::SleepFor
    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: 1813
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1813
    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:1857,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1869,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1870,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1877,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1892,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1904,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1910,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1921,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1927
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - absl::SleepFor
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - std::optional::emplace
    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: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    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: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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    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:
    - EXPECT_GT
    - GetMaxCapacityFunctor
    - EstimateSlabBytes
    - 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: 1
    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: 1
    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:
    - mmap
    - static_cast<int64_t>
    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:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '& sizemap() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - has_value
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:175,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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:182,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - has_value
    - ColdSizeClasses
    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:190,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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:220,1
    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::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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:275,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:276,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:279,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:308,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - NumActiveShards
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    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:319,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:326,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:332,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:345,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:361,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:372,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NumActiveShards
    - CpuCache::Deactivate
    - TC_ASSERT_GT
    - shard_initialized
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    - EXPECT_EQ
    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:383,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:394,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:397,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:400,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:405,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:422,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:443,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:445,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:447,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:449,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:472,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:475,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:485,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:504,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:505,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:517,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:520,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:532,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:535,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:554,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:556,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::HasPopulated
    - EXPECT_GT
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - ASSUME
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::UsedBytes
    - CpuCache::Allocated
    - NumCPUs
    - CpuCache::forwarder
    - absl::StrCat
    - EXPECT_EQ
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - EXPECT_FALSE
    - EXPECT_TRUE
    - CpuCache::TotalObjectsOfClass
    - count_cores
    - CpuCache::Deactivate
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Deallocate
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - EXPECT_LE
    - CpuCache::TotalUsedBytes
    - CpuCache::Activate
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - EXPECT_GE
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::Unallocated
    - EXPECT_NE
    - CpuCache::Allocate
    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:569,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:576,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:581,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:587,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:602,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:604,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:615,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:626,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:630,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 632
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - EXPECT_EQ
    - CpuCache::Deallocate
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::GetTotalCacheMissStats
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocate
    - NumCPUs
    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:635,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 3
    functionsReached:
    - absl::Milliseconds
    - load
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - absl::SleepFor
    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:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ShuffleCpuCaches
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:662,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:668,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:669,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:673,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:677,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:679,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:686,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: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - std::make_pair
    - load
    - std::vector::empty
    - Deallocate
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - std::vector::back
    - std::vector::pop_back
    - std::vector::size
    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:695,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:699,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,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: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - Allocate
    - Deallocate
    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:715,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:723,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:724,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:735,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:739,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:754,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:761,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:769,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:789,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - ASSERT_LT
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::CacheLimit
    - CpuCache::Activate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetCapacityOfSizeClass
    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:807,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:813,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:814,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ResizeSizeClassMaxCapacities
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:820,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:825,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:829,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:840,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:849,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:851,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:860,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 870
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Activate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:873,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:882,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:886,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:895,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:897,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:901,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:908,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:914,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:919,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:935,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:937,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:941,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:945,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:948,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 951
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:956,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:970,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:977,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:997,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1000,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1012,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1020,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1022,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1027,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1031
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - EXPECT_LT
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - EXPECT_EQ
    - CpuCache::GetPerCpuSlabShiftBounds
    - std::thread
    - repeat_dynamic_slab_ops
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - NumCPUs
    - absl::SleepFor
    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:1044,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1051,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1063,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1066,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1076,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1089,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1091,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1093,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1102,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1120,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1134
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - ASSERT_GT
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::ResizeSizeClasses
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocated
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1143,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1144,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: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    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:1153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1164,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1167,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1175
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - std::vector::resize
    - Allocate
    - Reclaim
    - Deallocate
    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:1183,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1196,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1202,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1204,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1207,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1214,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1220,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1222,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1238
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - ASSERT_LT
    - ASSERT_GT
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    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:1242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1245,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1253,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1274,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1279,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1285
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - std::thread
    - std::vector::push_back
    - std::ref
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - NumCPUs
    - absl::SleepFor
    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:1290,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1296,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1299,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1324,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1326,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1327,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - CpuCache::ResizeSizeClassMaxCapacities
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1335,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1341,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1346,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1356,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1364,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1382,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    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:1386,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1393,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1394,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1412,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1416,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1417,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1423,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1426,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1427,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1432,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1435,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1438,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1445,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1446,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:1451,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1452,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:1458,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::Activate
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Allocated
    - CpuCache::Capacity
    - EXPECT_LT
    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:1469,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1474,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1491,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1500,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1505,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1519,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1525,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1550,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1554,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1571,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1584
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - absl::Uniform<int32_t>
    - CpuCache::HasPopulated
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::TryReclaimingCaches
    - CpuCache::GetNumReclaims
    - EXPECT_TRUE
    - CpuCache::GetTotalCacheMissStats
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::UsedBytes
    - CpuCache::Activate
    - absl::StrFormat
    - NumCPUs
    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:1587,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1596,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1620,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1631,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1636,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1642,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1643,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1647,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - CpuCache::Deactivate
    - CpuCache::HasPopulated
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - static_cast<double>
    - CpuCache::Activate
    - CpuCache::GetSizeClassCapacityStats
    - absl::StrFormat
    - NumCPUs
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    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:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    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:1668,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1670
    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:1674,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1675,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1678,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1679,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1691,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1692,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1695,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1698,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1715,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1716,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1730,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1735,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1740,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1754,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1755,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1760,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1761,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - HasPopulated
    - MetadataMemoryUsage
    - Allocate
    - benchmark::DoNotOptimize
    - Print
    - GetTotalCacheMissStats
    - TotalUsedBytes
    - TryReclaimingCaches
    - static_cast<char*>
    - std::string::resize
    - UsedBytes
    - GetAndUpdateIntervalCacheMissStats
    - GetIntervalCacheMissStats
    - GTEST_FAIL
    - ShuffleCpuCaches
    - absl::Uniform
    - CacheLimit
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - GetSizeClassCapacityStats
    - std::string::data
    - PrintInPbtxt
    - std::string::size
    - EXPECT_GE
    - Capacity
    - GetNumReclaims
    - load
    - Unallocated
    - Deallocate
    - Reclaim
    - Allocated
    - EXPECT_NE
    - TotalObjectsOfClass
    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: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    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: 1795
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    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:1806,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1822,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: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1826,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1829,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1840,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - std::string::data
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - absl::SleepFor
    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: 1813
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1813
    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:1857,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1869,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1870,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1877,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1892,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1904,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1910,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1921,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1927
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - absl::SleepFor
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - std::optional::emplace
    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: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    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: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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    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: 1
    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: 1
    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:
    - mmap
    - static_cast<int64_t>
    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:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '& sizemap() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - has_value
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:175,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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:182,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - has_value
    - ColdSizeClasses
    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:190,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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:220,1
    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::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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:275,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:276,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:279,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:308,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - NumActiveShards
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    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:319,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:326,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:332,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:345,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:361,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:372,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NumActiveShards
    - CpuCache::Deactivate
    - TC_ASSERT_GT
    - shard_initialized
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    - EXPECT_EQ
    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:383,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:394,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:397,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:400,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:405,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:422,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:443,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:445,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:447,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:449,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:472,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:475,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:485,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:504,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:505,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:517,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:520,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:532,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:535,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:554,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:556,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::HasPopulated
    - EXPECT_GT
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - ASSUME
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::UsedBytes
    - CpuCache::Allocated
    - NumCPUs
    - CpuCache::forwarder
    - absl::StrCat
    - EXPECT_EQ
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - EXPECT_FALSE
    - EXPECT_TRUE
    - CpuCache::TotalObjectsOfClass
    - count_cores
    - CpuCache::Deactivate
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Deallocate
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - EXPECT_LE
    - CpuCache::TotalUsedBytes
    - CpuCache::Activate
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - EXPECT_GE
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::Unallocated
    - EXPECT_NE
    - CpuCache::Allocate
    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:569,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:576,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:581,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:587,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:602,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:604,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:615,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:626,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:630,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 632
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - EXPECT_EQ
    - CpuCache::Deallocate
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::GetTotalCacheMissStats
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocate
    - NumCPUs
    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:635,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 4
    functionsReached:
    - absl::Milliseconds
    - load
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - absl::SleepFor
    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:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ShuffleCpuCaches
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:662,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:668,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:669,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:673,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:677,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:679,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:686,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: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - std::make_pair
    - load
    - std::vector::empty
    - Deallocate
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - std::vector::back
    - std::vector::pop_back
    - std::vector::size
    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:695,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:699,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,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: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - Allocate
    - Deallocate
    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:715,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:723,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:724,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:735,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:739,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:754,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:761,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:769,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:789,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - ASSERT_LT
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::CacheLimit
    - CpuCache::Activate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetCapacityOfSizeClass
    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:807,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:813,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:814,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ResizeSizeClassMaxCapacities
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:820,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:825,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:829,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:840,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:849,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:851,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:860,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 870
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Activate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:873,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:882,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:886,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:895,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:897,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:901,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:908,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:914,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:919,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:935,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:937,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:941,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:945,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:948,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 951
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:956,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:970,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:977,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:997,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1000,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1012,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1020,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1022,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1027,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1031
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - EXPECT_LT
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - EXPECT_EQ
    - CpuCache::GetPerCpuSlabShiftBounds
    - std::thread
    - repeat_dynamic_slab_ops
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - NumCPUs
    - absl::SleepFor
    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:1044,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1051,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1063,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1066,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1076,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1089,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1091,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1093,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1102,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1120,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1134
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - ASSERT_GT
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::ResizeSizeClasses
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocated
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1143,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1144,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: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    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:1153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1164,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1167,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1175
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - std::vector::resize
    - Allocate
    - Reclaim
    - Deallocate
    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:1183,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1196,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1202,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1204,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1207,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1214,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1220,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1222,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1238
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - ASSERT_LT
    - ASSERT_GT
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    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:1242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1245,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1253,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1274,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1279,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1285
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - std::thread
    - std::vector::push_back
    - std::ref
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - NumCPUs
    - absl::SleepFor
    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:1290,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1296,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1299,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1324,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1326,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1327,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - CpuCache::ResizeSizeClassMaxCapacities
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1335,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1341,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1346,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1356,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1364,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1382,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    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:1386,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1393,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1394,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1412,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1416,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1417,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1423,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1426,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1427,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1432,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1435,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1438,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1445,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1446,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:1451,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1452,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:1458,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::Activate
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Allocated
    - CpuCache::Capacity
    - EXPECT_LT
    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:1469,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1474,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1491,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1500,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1505,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1519,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1525,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1550,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1554,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1571,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1584
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - absl::Uniform<int32_t>
    - CpuCache::HasPopulated
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::TryReclaimingCaches
    - CpuCache::GetNumReclaims
    - EXPECT_TRUE
    - CpuCache::GetTotalCacheMissStats
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::UsedBytes
    - CpuCache::Activate
    - absl::StrFormat
    - NumCPUs
    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:1587,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1596,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1620,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1631,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1636,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1642,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1643,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1647,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - CpuCache::Deactivate
    - CpuCache::HasPopulated
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - static_cast<double>
    - CpuCache::Activate
    - CpuCache::GetSizeClassCapacityStats
    - absl::StrFormat
    - NumCPUs
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    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:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    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:1668,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1670
    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:1674,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1675,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1678,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1679,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1691,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1692,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1695,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1698,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1715,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1716,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1730,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1735,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1740,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1754,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1755,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1760,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1761,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - HasPopulated
    - MetadataMemoryUsage
    - Allocate
    - benchmark::DoNotOptimize
    - Print
    - GetTotalCacheMissStats
    - TotalUsedBytes
    - TryReclaimingCaches
    - static_cast<char*>
    - std::string::resize
    - UsedBytes
    - GetAndUpdateIntervalCacheMissStats
    - GetIntervalCacheMissStats
    - GTEST_FAIL
    - ShuffleCpuCaches
    - absl::Uniform
    - CacheLimit
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - GetSizeClassCapacityStats
    - std::string::data
    - PrintInPbtxt
    - std::string::size
    - EXPECT_GE
    - Capacity
    - GetNumReclaims
    - load
    - Unallocated
    - Deallocate
    - Reclaim
    - Allocated
    - EXPECT_NE
    - TotalObjectsOfClass
    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: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    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: 1795
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    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:1806,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1822,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: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1826,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1829,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1840,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - std::string::data
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - absl::SleepFor
    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: 1813
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1813
    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:1857,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1869,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1870,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1877,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1892,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1904,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1910,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1921,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1927
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - absl::SleepFor
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - std::optional::emplace
    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: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    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: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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    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:
    - EXPECT_GT
    - GetMaxCapacityFunctor
    - EstimateSlabBytes
    - 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: 1
    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: 1
    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:
    - mmap
    - static_cast<int64_t>
    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:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '& sizemap() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - has_value
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:175,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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:182,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - has_value
    - ColdSizeClasses
    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:190,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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:220,1
    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::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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:275,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:276,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:279,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:308,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - NumActiveShards
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    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:319,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:326,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:332,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:345,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:361,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:372,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NumActiveShards
    - CpuCache::Deactivate
    - TC_ASSERT_GT
    - shard_initialized
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    - EXPECT_EQ
    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:383,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:394,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:397,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:400,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:405,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:422,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:443,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:445,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:447,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:449,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:472,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:475,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:485,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:504,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:505,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:517,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:520,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:532,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:535,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:554,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:556,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::HasPopulated
    - EXPECT_GT
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - ASSUME
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::UsedBytes
    - CpuCache::Allocated
    - NumCPUs
    - CpuCache::forwarder
    - absl::StrCat
    - EXPECT_EQ
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - EXPECT_FALSE
    - EXPECT_TRUE
    - CpuCache::TotalObjectsOfClass
    - count_cores
    - CpuCache::Deactivate
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Deallocate
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - EXPECT_LE
    - CpuCache::TotalUsedBytes
    - CpuCache::Activate
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - EXPECT_GE
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::Unallocated
    - EXPECT_NE
    - CpuCache::Allocate
    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:569,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:576,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:581,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:587,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:602,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:604,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:615,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:626,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:630,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 632
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - EXPECT_EQ
    - CpuCache::Deallocate
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::GetTotalCacheMissStats
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocate
    - NumCPUs
    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:635,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 5
    functionsReached:
    - absl::Milliseconds
    - load
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - absl::SleepFor
    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:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ShuffleCpuCaches
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:662,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:668,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:669,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:673,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:677,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:679,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:686,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: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - std::make_pair
    - load
    - std::vector::empty
    - Deallocate
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - std::vector::back
    - std::vector::pop_back
    - std::vector::size
    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:695,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:699,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,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: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - Allocate
    - Deallocate
    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:715,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:723,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:724,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:735,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:739,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:754,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:761,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:769,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:789,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - ASSERT_LT
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::CacheLimit
    - CpuCache::Activate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetCapacityOfSizeClass
    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:807,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:813,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:814,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ResizeSizeClassMaxCapacities
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:820,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:825,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:829,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:840,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:849,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:851,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:860,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 870
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Activate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:873,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:882,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:886,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:895,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:897,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:901,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:908,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:914,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:919,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:935,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:937,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:941,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:945,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:948,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 951
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:956,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:970,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:977,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:997,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1000,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1012,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1020,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1022,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1027,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1031
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - EXPECT_LT
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - EXPECT_EQ
    - CpuCache::GetPerCpuSlabShiftBounds
    - std::thread
    - repeat_dynamic_slab_ops
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - NumCPUs
    - absl::SleepFor
    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:1044,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1051,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1063,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1066,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1076,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1089,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1091,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1093,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1102,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1120,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1134
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - ASSERT_GT
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::ResizeSizeClasses
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocated
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1143,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1144,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: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    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:1153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1164,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1167,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1175
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - std::vector::resize
    - Allocate
    - Reclaim
    - Deallocate
    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:1183,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1196,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1202,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1204,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1207,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1214,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1220,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1222,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1238
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - ASSERT_LT
    - ASSERT_GT
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    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:1242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1245,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1253,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1274,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1279,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1285
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - std::thread
    - std::vector::push_back
    - std::ref
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - NumCPUs
    - absl::SleepFor
    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:1290,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1296,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1299,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1324,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1326,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1327,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - CpuCache::ResizeSizeClassMaxCapacities
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1335,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1341,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1346,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1356,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1364,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1382,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    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:1386,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1393,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1394,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1412,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1416,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1417,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1423,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1426,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1427,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1432,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1435,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1438,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1445,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1446,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:1451,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1452,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:1458,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::Activate
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Allocated
    - CpuCache::Capacity
    - EXPECT_LT
    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:1469,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1474,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1491,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1500,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1505,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1519,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1525,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1550,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1554,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1571,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1584
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - absl::Uniform<int32_t>
    - CpuCache::HasPopulated
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::TryReclaimingCaches
    - CpuCache::GetNumReclaims
    - EXPECT_TRUE
    - CpuCache::GetTotalCacheMissStats
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::UsedBytes
    - CpuCache::Activate
    - absl::StrFormat
    - NumCPUs
    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:1587,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1596,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1620,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1631,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1636,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1642,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1643,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1647,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - CpuCache::Deactivate
    - CpuCache::HasPopulated
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - static_cast<double>
    - CpuCache::Activate
    - CpuCache::GetSizeClassCapacityStats
    - absl::StrFormat
    - NumCPUs
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    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:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    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:1668,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1670
    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:1674,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1675,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1678,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1679,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1691,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1692,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1695,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1698,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1715,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1716,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1730,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1735,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1740,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1754,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1755,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1760,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1761,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - HasPopulated
    - MetadataMemoryUsage
    - Allocate
    - benchmark::DoNotOptimize
    - Print
    - GetTotalCacheMissStats
    - TotalUsedBytes
    - TryReclaimingCaches
    - static_cast<char*>
    - std::string::resize
    - UsedBytes
    - GetAndUpdateIntervalCacheMissStats
    - GetIntervalCacheMissStats
    - GTEST_FAIL
    - ShuffleCpuCaches
    - absl::Uniform
    - CacheLimit
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - GetSizeClassCapacityStats
    - std::string::data
    - PrintInPbtxt
    - std::string::size
    - EXPECT_GE
    - Capacity
    - GetNumReclaims
    - load
    - Unallocated
    - Deallocate
    - Reclaim
    - Allocated
    - EXPECT_NE
    - TotalObjectsOfClass
    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: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    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: 1795
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    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:1806,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1822,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: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1826,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1829,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1840,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - std::string::data
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - absl::SleepFor
    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: 1813
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1813
    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:1857,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1869,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1870,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1877,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1892,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1904,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1910,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1921,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1927
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - absl::SleepFor
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - std::optional::emplace
    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: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    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: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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    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: 1
    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: 1
    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:
    - mmap
    - static_cast<int64_t>
    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:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '& sizemap() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - has_value
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:175,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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:182,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - has_value
    - ColdSizeClasses
    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:190,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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:220,1
    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::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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:275,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:276,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:279,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:308,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - NumActiveShards
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    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:319,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:326,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:332,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:345,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:361,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:372,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NumActiveShards
    - CpuCache::Deactivate
    - TC_ASSERT_GT
    - shard_initialized
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    - EXPECT_EQ
    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:383,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:394,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:397,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:400,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:405,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:422,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:443,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:445,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:447,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:449,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:472,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:475,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:485,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:504,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:505,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:517,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:520,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:532,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:535,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:554,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:556,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::HasPopulated
    - EXPECT_GT
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - ASSUME
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::UsedBytes
    - CpuCache::Allocated
    - NumCPUs
    - CpuCache::forwarder
    - absl::StrCat
    - EXPECT_EQ
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - EXPECT_FALSE
    - EXPECT_TRUE
    - CpuCache::TotalObjectsOfClass
    - count_cores
    - CpuCache::Deactivate
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Deallocate
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - EXPECT_LE
    - CpuCache::TotalUsedBytes
    - CpuCache::Activate
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - EXPECT_GE
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::Unallocated
    - EXPECT_NE
    - CpuCache::Allocate
    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:569,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:576,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:581,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:587,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:602,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:604,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:615,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:626,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:630,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 632
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - EXPECT_EQ
    - CpuCache::Deallocate
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::GetTotalCacheMissStats
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocate
    - NumCPUs
    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:635,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 6
    functionsReached:
    - absl::Milliseconds
    - load
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - absl::SleepFor
    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:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ShuffleCpuCaches
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:662,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:668,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:669,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:673,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:677,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:679,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:686,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: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - std::make_pair
    - load
    - std::vector::empty
    - Deallocate
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - std::vector::back
    - std::vector::pop_back
    - std::vector::size
    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:695,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:699,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,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: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 10
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - Allocate
    - Deallocate
    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:715,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:723,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:724,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:735,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:739,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:754,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:761,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:769,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:789,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - ASSERT_LT
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::CacheLimit
    - CpuCache::Activate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetCapacityOfSizeClass
    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:807,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:813,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:814,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ResizeSizeClassMaxCapacities
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:820,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:825,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:829,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:840,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:849,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:851,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:860,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 870
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Activate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:873,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:882,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:886,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:895,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:897,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:901,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:908,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:914,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:919,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:935,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:937,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:941,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:945,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:948,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 951
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:956,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:970,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:977,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:997,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1000,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1012,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1020,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1022,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1027,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1031
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - EXPECT_LT
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - EXPECT_EQ
    - CpuCache::GetPerCpuSlabShiftBounds
    - std::thread
    - repeat_dynamic_slab_ops
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - NumCPUs
    - absl::SleepFor
    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:1044,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1051,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1063,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1066,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1076,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1089,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1091,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1093,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1102,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1120,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1134
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - ASSERT_GT
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::ResizeSizeClasses
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocated
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1143,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1144,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: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    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:1153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1164,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1167,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1175
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 10
    functionsReached:
    - std::vector::resize
    - Allocate
    - Reclaim
    - Deallocate
    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:1183,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1196,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1202,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1204,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1207,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1214,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1220,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1222,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1238
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - ASSERT_LT
    - ASSERT_GT
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    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:1242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1245,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1253,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1274,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1279,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1285
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - std::thread
    - std::vector::push_back
    - std::ref
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - NumCPUs
    - absl::SleepFor
    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:1290,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1296,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1299,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1324,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1326,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1327,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - CpuCache::ResizeSizeClassMaxCapacities
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1335,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1341,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1346,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1356,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1364,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1382,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    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:1386,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1393,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1394,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1412,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1416,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1417,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1423,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1426,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1427,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1432,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1435,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1438,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1445,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1446,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:1451,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1452,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:1458,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::Activate
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Allocated
    - CpuCache::Capacity
    - EXPECT_LT
    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:1469,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1474,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1491,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1500,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1505,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1519,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1525,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1550,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1554,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1571,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1584
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - absl::Uniform<int32_t>
    - CpuCache::HasPopulated
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::TryReclaimingCaches
    - CpuCache::GetNumReclaims
    - EXPECT_TRUE
    - CpuCache::GetTotalCacheMissStats
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::UsedBytes
    - CpuCache::Activate
    - absl::StrFormat
    - NumCPUs
    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:1587,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1596,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1620,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1631,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1636,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1642,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1643,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1647,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - CpuCache::Deactivate
    - CpuCache::HasPopulated
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - static_cast<double>
    - CpuCache::Activate
    - CpuCache::GetSizeClassCapacityStats
    - absl::StrFormat
    - NumCPUs
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    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:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    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:1668,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1670
    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:1674,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1675,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1678,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1679,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1691,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1692,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1695,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1698,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1715,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1716,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1730,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1735,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1740,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1754,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1755,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1760,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1761,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - HasPopulated
    - MetadataMemoryUsage
    - Allocate
    - benchmark::DoNotOptimize
    - Print
    - GetTotalCacheMissStats
    - TotalUsedBytes
    - TryReclaimingCaches
    - static_cast<char*>
    - std::string::resize
    - UsedBytes
    - GetAndUpdateIntervalCacheMissStats
    - GetIntervalCacheMissStats
    - GTEST_FAIL
    - ShuffleCpuCaches
    - absl::Uniform
    - CacheLimit
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - GetSizeClassCapacityStats
    - std::string::data
    - PrintInPbtxt
    - std::string::size
    - EXPECT_GE
    - Capacity
    - GetNumReclaims
    - load
    - Unallocated
    - Deallocate
    - Reclaim
    - Allocated
    - EXPECT_NE
    - TotalObjectsOfClass
    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: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    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: 1795
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    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:1806,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1822,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: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1826,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1829,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1840,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - std::string::data
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - absl::SleepFor
    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: 1813
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1813
    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:1857,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1869,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1870,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1877,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1892,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1904,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1910,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1921,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1927
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - absl::SleepFor
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - std::optional::emplace
    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: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    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: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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    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:
    - EXPECT_GT
    - GetMaxCapacityFunctor
    - EstimateSlabBytes
    - 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: 1
    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: 1
    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:
    - mmap
    - static_cast<int64_t>
    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:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '& sizemap() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - has_value
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:175,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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:182,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - has_value
    - ColdSizeClasses
    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:190,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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:220,1
    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::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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:275,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:276,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:279,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:308,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - NumActiveShards
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    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:319,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:326,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:332,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:345,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:361,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:372,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NumActiveShards
    - CpuCache::Deactivate
    - TC_ASSERT_GT
    - shard_initialized
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    - EXPECT_EQ
    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:383,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:394,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:397,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:400,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:405,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:422,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:443,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:445,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:447,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:449,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:472,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:475,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:485,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:504,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:505,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:517,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:520,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:532,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:535,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:554,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:556,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::HasPopulated
    - EXPECT_GT
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - ASSUME
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::UsedBytes
    - CpuCache::Allocated
    - NumCPUs
    - CpuCache::forwarder
    - absl::StrCat
    - EXPECT_EQ
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - EXPECT_FALSE
    - EXPECT_TRUE
    - CpuCache::TotalObjectsOfClass
    - count_cores
    - CpuCache::Deactivate
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Deallocate
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - EXPECT_LE
    - CpuCache::TotalUsedBytes
    - CpuCache::Activate
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - EXPECT_GE
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::Unallocated
    - EXPECT_NE
    - CpuCache::Allocate
    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:569,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:576,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:581,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:587,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:602,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:604,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:615,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:626,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:630,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 632
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - EXPECT_EQ
    - CpuCache::Deallocate
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::GetTotalCacheMissStats
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocate
    - NumCPUs
    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:635,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 7
    functionsReached:
    - absl::Milliseconds
    - load
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - absl::SleepFor
    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:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ShuffleCpuCaches
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:662,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:668,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:669,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:673,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:677,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:679,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:686,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: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - std::make_pair
    - load
    - std::vector::empty
    - Deallocate
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - std::vector::back
    - std::vector::pop_back
    - std::vector::size
    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:695,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:699,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,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: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 12
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - Allocate
    - Deallocate
    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:715,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:723,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:724,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:735,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:739,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:754,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:761,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:769,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:789,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - ASSERT_LT
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::CacheLimit
    - CpuCache::Activate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetCapacityOfSizeClass
    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:807,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:813,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:814,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ResizeSizeClassMaxCapacities
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:820,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:825,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:829,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:840,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:849,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:851,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:860,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 870
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Activate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:873,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:882,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:886,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:895,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:897,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:901,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:908,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:914,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:919,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:935,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:937,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:941,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:945,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:948,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 951
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:956,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:970,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:977,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:997,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1000,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1012,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1020,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1022,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1027,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1031
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - EXPECT_LT
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - EXPECT_EQ
    - CpuCache::GetPerCpuSlabShiftBounds
    - std::thread
    - repeat_dynamic_slab_ops
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - NumCPUs
    - absl::SleepFor
    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:1044,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1051,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1063,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1066,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1076,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1089,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1091,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1093,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1102,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1120,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1134
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - ASSERT_GT
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::ResizeSizeClasses
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocated
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1143,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1144,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: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    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:1153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1164,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1167,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1175
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 12
    functionsReached:
    - std::vector::resize
    - Allocate
    - Reclaim
    - Deallocate
    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:1183,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1196,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1202,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1204,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1207,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1214,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1220,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1222,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1238
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - ASSERT_LT
    - ASSERT_GT
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    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:1242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1245,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1253,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1274,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1279,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1285
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - std::thread
    - std::vector::push_back
    - std::ref
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - NumCPUs
    - absl::SleepFor
    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:1290,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1296,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1299,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1324,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1326,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1327,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - CpuCache::ResizeSizeClassMaxCapacities
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1335,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1341,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1346,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1356,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1364,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1382,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    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:1386,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1393,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1394,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1412,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1416,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1417,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1423,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1426,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1427,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1432,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1435,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1438,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1445,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1446,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:1451,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1452,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:1458,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::Activate
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Allocated
    - CpuCache::Capacity
    - EXPECT_LT
    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:1469,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1474,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1491,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1500,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1505,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1519,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1525,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1550,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1554,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1571,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1584
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - absl::Uniform<int32_t>
    - CpuCache::HasPopulated
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::TryReclaimingCaches
    - CpuCache::GetNumReclaims
    - EXPECT_TRUE
    - CpuCache::GetTotalCacheMissStats
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::UsedBytes
    - CpuCache::Activate
    - absl::StrFormat
    - NumCPUs
    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:1587,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1596,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1620,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1631,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1636,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1642,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1643,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1647,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - CpuCache::Deactivate
    - CpuCache::HasPopulated
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - static_cast<double>
    - CpuCache::Activate
    - CpuCache::GetSizeClassCapacityStats
    - absl::StrFormat
    - NumCPUs
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    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:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    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:1668,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1670
    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:1674,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1675,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1678,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1679,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1691,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1692,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1695,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1698,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1715,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1716,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1730,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1735,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1740,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1754,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1755,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1760,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1761,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - HasPopulated
    - MetadataMemoryUsage
    - Allocate
    - benchmark::DoNotOptimize
    - Print
    - GetTotalCacheMissStats
    - TotalUsedBytes
    - TryReclaimingCaches
    - static_cast<char*>
    - std::string::resize
    - UsedBytes
    - GetAndUpdateIntervalCacheMissStats
    - GetIntervalCacheMissStats
    - GTEST_FAIL
    - ShuffleCpuCaches
    - absl::Uniform
    - CacheLimit
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - GetSizeClassCapacityStats
    - std::string::data
    - PrintInPbtxt
    - std::string::size
    - EXPECT_GE
    - Capacity
    - GetNumReclaims
    - load
    - Unallocated
    - Deallocate
    - Reclaim
    - Allocated
    - EXPECT_NE
    - TotalObjectsOfClass
    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: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    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: 1795
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    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:1806,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1822,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: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1826,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1829,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1840,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - std::string::data
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - absl::SleepFor
    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: 1813
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1813
    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:1857,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1869,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1870,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1877,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1892,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1904,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1910,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1921,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1927
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - absl::SleepFor
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - std::optional::emplace
    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: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    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: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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    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: 1
    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: 1
    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:
    - mmap
    - static_cast<int64_t>
    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:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '& sizemap() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - has_value
    linkageType: ''
    returnType: SizeMap
    signature: SizeMap & sizemap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:174,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:175,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    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:182,1
    - Dst: ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::cold_size_classes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - has_value
    - ColdSizeClasses
    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:190,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    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:220,1
    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::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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:268,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:272,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:275,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:276,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:277,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:279,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:281,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:288,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:291,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: should_use
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:306,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:308,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: tc_length
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - NumActiveShards
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    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:319,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:323,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:326,1
    - Dst: SetShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:327,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:328,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:330,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:332,1
    - Dst: InitializeShardedManager
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:337,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:345,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:349,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: shard_initialized
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: NumActiveShards
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:356,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:360,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:361,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:364,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:372,1
    - Dst: SetGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:373,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 375
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - SetGenericShardedCache
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - SetShardedCacheForLargeClassesOnly
    - InitializeShardedManager
    - CpuCache::forwarder
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NumActiveShards
    - CpuCache::Deactivate
    - TC_ASSERT_GT
    - shard_initialized
    - CpuCache::Reclaim
    - CpuCache::Deallocate
    - CpuCache::Activate
    - transfer_cache
    - CpuCache::Allocate
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, UsesShardedAsBackingCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CpuCachePeer::ResizeInfoSize<CpuCache>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCachePeer::ResizeInfoSize<CpuCache>
    - EXPECT_EQ
    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:383,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:387,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:391,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:394,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:397,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:400,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:405,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:417,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:422,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:443,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:445,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:447,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:449,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:454,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:472,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:475,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:485,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:488,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:491,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:504,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:505,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:506,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:514,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:517,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:520,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:525,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:528,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:532,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:535,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:536,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:541,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:552,1
    - Dst: CpuCache::MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:554,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:556,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: count_cores
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:557,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:559,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:562,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 566
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::HasPopulated
    - EXPECT_GT
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - ASSUME
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::UsedBytes
    - CpuCache::Allocated
    - NumCPUs
    - CpuCache::forwarder
    - absl::StrCat
    - EXPECT_EQ
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - EXPECT_FALSE
    - EXPECT_TRUE
    - CpuCache::TotalObjectsOfClass
    - count_cores
    - CpuCache::Deactivate
    - CpuCache::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - CpuCache::Deallocate
    - CpuCache::MetadataMemoryUsage
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - EXPECT_LE
    - CpuCache::TotalUsedBytes
    - CpuCache::Activate
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - EXPECT_GE
    - CpuCache::GetPerCpuSlabShiftBounds
    - CpuCache::Unallocated
    - EXPECT_NE
    - CpuCache::Allocate
    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:569,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:573,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:576,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:581,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:584,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:587,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:602,1
    - Dst: CpuCache::Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:604,1
    - Dst: tcmalloc_internal::ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:606,1
    - Dst: tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:608,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:615,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:620,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:626,1
    - Dst: CpuCache::Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:630,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 632
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocTest::VirtualCpuSynchronize
    - EXPECT_EQ
    - CpuCache::Deallocate
    - tcmalloc_internal::ScopedAffinityMask::Tampered
    - CpuCache::GetTotalCacheMissStats
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocate
    - NumCPUs
    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:635,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:641,1
    - Dst: tcmalloc::tcmalloc_internal::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:642,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: tcmalloc::tcmalloc_internal::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 8
    functionsReached:
    - absl::Milliseconds
    - load
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ResizeSizeClasses
    - absl::SleepFor
    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:648,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:654,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:655,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: tcmalloc::tcmalloc_internal::ShuffleThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ShuffleCpuCaches
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:662,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:668,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:669,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:672,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:673,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:674,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:677,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:678,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:679,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:686,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: 688
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 688
    functionName: tcmalloc::tcmalloc_internal::StressThread
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - std::make_pair
    - load
    - std::vector::empty
    - Deallocate
    - std::vector::emplace_back
    - tcmalloc_internal::subtle::percpu::IsFast
    - Allocate
    - std::vector::back
    - std::vector::pop_back
    - std::vector::size
    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:695,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:699,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:701,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: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 14
    functionsReached:
    - std::vector::clear
    - std::vector::push_back
    - Allocate
    - Deallocate
    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:715,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:723,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:724,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:733,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:735,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:736,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:739,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:747,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:748,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:754,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:758,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:761,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:762,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:769,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:774,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:780,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:788,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:789,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::GetCapacityOfSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:798,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 803
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - ASSERT_LT
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::CacheLimit
    - CpuCache::Activate
    - CpuCache::ResizeSizeClassMaxCapacities
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - CpuCache::GetCapacityOfSizeClass
    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:807,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:813,1
    - Dst: ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:814,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' cache'
    - ' stop'
    argTypes:
    - CpuCache
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: tcmalloc::tcmalloc_internal::ResizeMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Milliseconds
    - load
    - ResizeSizeClassMaxCapacities
    - tcmalloc_internal::subtle::percpu::IsFast
    - absl::SleepFor
    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:820,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:825,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:829,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:836,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:840,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:841,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:844,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:846,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:849,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:851,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:855,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:858,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:859,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:860,1
    - Dst: CpuCache::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:868,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 870
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Activate
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::GetMaxCapacity
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:873,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:878,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:882,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:886,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:887,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:890,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:892,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:895,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:897,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:901,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:904,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:905,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:908,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:914,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:919,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:923,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:927,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:928,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:930,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:932,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:935,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:937,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:941,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:942,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:944,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:945,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:948,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 951
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::thread
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - CpuCache::Unallocated
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - std::vector::push_back
    - std::ref
    - CpuCache::Allocated
    - CpuCache::Capacity
    - NumCPUs
    - absl::SleepFor
    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:956,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:964,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:970,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:973,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:977,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:978,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:982,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:992,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:993,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:997,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:998,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1000,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1012,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1020,1
    - Dst: repeat_dynamic_slab_ops
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1022,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1027,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1031
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - EXPECT_LT
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - EXPECT_EQ
    - CpuCache::GetPerCpuSlabShiftBounds
    - std::thread
    - repeat_dynamic_slab_ops
    - tcmalloc::tcmalloc_internal::CpuCachePeer::IncrementCacheMisses
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - std::vector::push_back
    - std::ref
    - NumCPUs
    - absl::SleepFor
    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:1044,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1051,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1052,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1062,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1063,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1066,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1068,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1076,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1079,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1082,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1084,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1086,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1089,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1091,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1093,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1099,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1102,1
    - Dst: CpuCache::ResizeSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1106,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1118,1
    - Dst: tcmalloc::tcmalloc_internal::AllocateThenDeallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1120,1
    - Dst: CpuCache::GetIntervalSizeClassMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1130,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1134
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - tcmalloc::tcmalloc_internal::AllocateThenDeallocate
    - ASSERT_GT
    - CpuCache::GetIntervalSizeClassMisses
    - EXPECT_EQ
    - CpuCache::ResizeSizeClasses
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - CpuCache::TotalObjectsOfClass
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::Activate
    - CpuCache::Allocated
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, ResizeSizeClassesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1143,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1144,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: 1145
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    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:1153,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1164,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1167,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' cache'
    - cpu_id
    argTypes:
    - CpuCache
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1175
    functionName: tcmalloc::tcmalloc_internal::HotCacheOperations
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 14
    functionsReached:
    - std::vector::resize
    - Allocate
    - Reclaim
    - Deallocate
    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:1183,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1193,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1196,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1202,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1204,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1207,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1214,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1215,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1220,1
    - Dst: CpuCache::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1222,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1223,1
    - Dst: CpuCache::GetPerCpuSlabShiftBounds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1227,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1229,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1230,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1238
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - ASSERT_LT
    - ASSERT_GT
    - CpuCache::GetPerCpuSlabShiftBounds
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::GetIntervalCacheMissStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - tcmalloc::tcmalloc_internal::CpuCachePeer::GetSlabShift
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    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:1242,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1245,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1248,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1253,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1258,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1264,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1265,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1271,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1274,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1279,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1285
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - join
    - CpuCache::Deactivate
    - absl::Milliseconds
    - std::thread
    - std::vector::push_back
    - std::ref
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - CpuCache::ResizeSlabIfNeeded
    - CpuCache::Activate
    - SizeMap::CurrentClasses
    - ASSERT_TRUE
    - NumCPUs
    - absl::SleepFor
    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:1290,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1293,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1296,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1299,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1304,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1311,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1316,1
    - Dst: CpuCache::ResizeSizeClassMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1317,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1321,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1324,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1326,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1327,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1330
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - CpuCache::ResizeSizeClassMaxCapacities
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1335,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1338,1
    - Dst: mlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1341,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1344,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1346,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: SizeMap::CurrentClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1349,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1356,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1362,1
    - Dst: CpuCache::ResizeSlabIfNeeded
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1364,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1368,1
    - Dst: CpuCache::GetDynamicSlabFailedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1370,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1371,1
    - Dst: munlockall
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1374,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1377
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCache::ResizeSlabIfNeeded
    - SizeMap::Init
    - NumCPUs
    - CpuCache::GetDynamicSlabFailedBytes
    - CpuCache::forwarder
    - absl::Milliseconds
    - EXPECT_EQ
    - std::thread
    - CpuCache::Deactivate
    - std::vector::push_back
    - ASSERT_TRUE
    - absl::SleepFor
    - ASSERT_EQ
    - mlockall
    - CpuCache::Activate
    - std::ref
    - join
    - munlockall
    - SizeMap::CurrentClasses
    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:1382,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    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:1386,1
    - Dst: CpuCache::SetCacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1393,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1394,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1412,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1415,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1416,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1417,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1422,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1423,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1426,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1427,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1432,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1433,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1435,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1438,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1444,1
    - Dst: tcmalloc::tcmalloc_internal::HotCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1445,1
    - Dst: CpuCache::ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1446,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:1451,1
    - Dst: CpuCache::Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1451,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1452,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:1458,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1461,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Deactivate
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::Activate
    - CpuCache::ShuffleCpuCaches
    - CpuCache::Unallocated
    - CpuCache::SetCacheLimit
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc::tcmalloc_internal::HotCacheOperations
    - CpuCache::Allocated
    - CpuCache::Capacity
    - EXPECT_LT
    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:1469,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1474,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1477,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1479,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1484,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1487,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1491,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1500,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1504,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1505,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1506,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1510,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1512,1
    - Dst: CpuCache::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1519,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1522,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1525,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1530,1
    - Dst: CpuCache::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1537,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1541,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1544,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1548,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1549,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1550,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1551,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1554,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1560,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1562,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1565,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1566,1
    - Dst: CpuCache::TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1571,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1578,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: CpuCache::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1579,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1580,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1584
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::Deactivate
    - absl::Uniform<int32_t>
    - CpuCache::HasPopulated
    - EXPECT_GT
    - EXPECT_EQ
    - CpuCache::TryReclaimingCaches
    - CpuCache::GetNumReclaims
    - EXPECT_TRUE
    - CpuCache::GetTotalCacheMissStats
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - CpuCache::GetAndUpdateIntervalCacheMissStats
    - CpuCache::UsedBytes
    - CpuCache::Activate
    - absl::StrFormat
    - NumCPUs
    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:1587,1
    - Dst: CpuCache::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1592,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1594,1
    - Dst: CpuCache::forwarder
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1596,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1600,1
    - Dst: tcmalloc::tcmalloc_internal::ColdCacheOperations
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1601,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: CpuCache::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1602,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1606,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1608,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1613,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1614,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1615,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1618,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1619,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1620,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1630,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1631,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1634,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1636,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1642,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1643,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1647,1
    - Dst: CpuCache::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1652,1
    - Dst: CpuCache::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1655,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1656,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1657,1
    - Dst: CpuCache::Deactivate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - CpuCache::forwarder
    - CpuCache::Reclaim
    - CpuCache::Deactivate
    - CpuCache::HasPopulated
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::tcmalloc_internal::ColdCacheOperations
    - tcmalloc_internal::subtle::percpu::IsFast
    - SCOPED_TRACE
    - static_cast<double>
    - CpuCache::Activate
    - CpuCache::GetSizeClassCapacityStats
    - absl::StrFormat
    - NumCPUs
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheTest, SizeClassCapacityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    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:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    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:1668,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1670
    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:1674,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1675,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1678,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1679,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1682,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1691,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1692,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1695,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1696,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1698,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: TotalUsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1702,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1705,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: Allocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1708,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1711,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1714,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1715,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1716,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: TotalObjectsOfClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1720,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1723,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1726,1
    - Dst: ShuffleCpuCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1730,1
    - Dst: TryReclaimingCaches
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1735,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1740,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1744,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1747,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1749,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1751,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1753,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1754,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1755,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1759,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1760,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1761,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1766,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1767,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1768,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1771,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1773,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1778,1
    - Dst: ANNOTATE_MEMORY_IS_UNINITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1779,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1780,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1782,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1784,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1791
    functionName: tcmalloc::tcmalloc_internal::CpuCacheEnvironment::RandomlyPoke
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - HasPopulated
    - MetadataMemoryUsage
    - Allocate
    - benchmark::DoNotOptimize
    - Print
    - GetTotalCacheMissStats
    - TotalUsedBytes
    - TryReclaimingCaches
    - static_cast<char*>
    - std::string::resize
    - UsedBytes
    - GetAndUpdateIntervalCacheMissStats
    - GetIntervalCacheMissStats
    - GTEST_FAIL
    - ShuffleCpuCaches
    - absl::Uniform
    - CacheLimit
    - ANNOTATE_MEMORY_IS_UNINITIALIZED
    - GetSizeClassCapacityStats
    - std::string::data
    - PrintInPbtxt
    - std::string::size
    - EXPECT_GE
    - Capacity
    - GetNumReclaims
    - load
    - Unallocated
    - Deallocate
    - Reclaim
    - Allocated
    - EXPECT_NE
    - TotalObjectsOfClass
    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: 1793
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    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: 1795
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    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:1806,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1818,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1821,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1822,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: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1826,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1827,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1829,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1838,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1839,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1840,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1841,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1845,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1849,1
    - Dst: std::string::data
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1850,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1853
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - std::string::resize
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - std::string::data
    - std::string::size
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - absl::SleepFor
    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: 1813
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1813
    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:1857,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1869,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1870,1
    - Dst: CpuCacheEnvironment::Activate
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1875,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1877,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1881,1
    - Dst: CpuCacheEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1890,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1892,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1904,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1908,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1910,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1919,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1920,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1921,1
    - Dst: CpuCacheEnvironment::cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    - Dst: CpuCacheEnvironment::num_cpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1927
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - ThreadManager::Stop
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheEnvironment::RandomlyPoke
    - ThreadManager::Start
    - absl::SleepFor
    - ASSERT_TRUE
    - CpuCacheEnvironment::Activate
    - CpuCacheEnvironment::cache
    - CpuCacheEnvironment::num_cpus
    - std::optional::emplace
    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: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    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: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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1956,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    - Dst: F
      Src: /src/tcmalloc/tcmalloc/cpu_cache_test.cc:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1958
    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:46,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:58,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:63,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:83,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:91,1
    - Dst: use_huge_region_more_often
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:108,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:113,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:116,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:119,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    - Dst: const_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:126,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:134,1
    - Dst: tcmalloc_internal::Span::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:139,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:142,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:146,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:158,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
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 174
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - in_bytes
    - default_subrelease
    - pagemap
    - thread_safe_getenv
    - const_cast<Span*>
    - tcmalloc_internal::Span::New
    - system_allocator
    - start_addr
    - first_page
    - use_huge_region_more_often
    - invalid_span
    - page_allocator
    - arena
    - ReportDoubleFree
    - TC_BUG
    - tcmalloc_internal::Span::Delete
    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:46,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:58,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - default_subrelease
    - thread_safe_getenv
    - TC_BUG
    linkageType: ''
    returnType: bool
    signature: bool decide_subrelease()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:83,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - thread_safe_getenv
    - TC_BUG
    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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 111
    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:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    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:116,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - HugePage::first_page
    - pagemap
    linkageType: ''
    returnType: void
    signature: void * StaticForwarder::GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    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:122,1
    - Dst: const_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - page
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ClearSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - invalid_span
    - const_cast<Span*>
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ClearSpan(PageId page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - page
    - absl_nonnull
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::SetSpan(PageId page, Span* absl_nonnull span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - HugePage::first_page
    - pagemap
    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:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 142
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    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:150,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    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:154,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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: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: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus StaticForwarder::CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    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:46,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:58,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - default_subrelease
    - thread_safe_getenv
    - TC_BUG
    linkageType: ''
    returnType: bool
    signature: bool decide_subrelease()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:83,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 1
    functionsReached:
    - thread_safe_getenv
    - TC_BUG
    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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 111
    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:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    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:116,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - HugePage::first_page
    - pagemap
    linkageType: ''
    returnType: void
    signature: void * StaticForwarder::GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    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:122,1
    - Dst: const_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - page
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ClearSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - invalid_span
    - const_cast<Span*>
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ClearSpan(PageId page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - page
    - absl_nonnull
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::SetSpan(PageId page, Span* absl_nonnull span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - HugePage::first_page
    - pagemap
    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:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 142
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    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:150,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    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:154,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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: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: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus StaticForwarder::CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    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:46,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:58,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - default_subrelease
    - thread_safe_getenv
    - TC_BUG
    linkageType: ''
    returnType: bool
    signature: bool decide_subrelease()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:83,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 2
    functionsReached:
    - thread_safe_getenv
    - TC_BUG
    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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 111
    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:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    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:116,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - HugePage::first_page
    - pagemap
    linkageType: ''
    returnType: void
    signature: void * StaticForwarder::GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    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:122,1
    - Dst: const_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - page
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ClearSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - invalid_span
    - const_cast<Span*>
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ClearSpan(PageId page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - page
    - absl_nonnull
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::SetSpan(PageId page, Span* absl_nonnull span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - HugePage::first_page
    - pagemap
    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:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 142
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    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:150,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    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:154,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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: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: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus StaticForwarder::CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    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:46,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:58,1
    - Dst: default_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::huge_page_allocator_internal::decide_subrelease
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - default_subrelease
    - thread_safe_getenv
    - TC_BUG
    linkageType: ''
    returnType: bool
    signature: bool decide_subrelease()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:83,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::huge_page_allocator_internal::use_huge_region_more_often
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 3
    functionsReached:
    - thread_safe_getenv
    - TC_BUG
    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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 111
    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:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    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:116,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - HugePage::first_page
    - pagemap
    linkageType: ''
    returnType: void
    signature: void * StaticForwarder::GetHugepage(HugePage p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    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:122,1
    - Dst: const_cast<Span*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - page
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ClearSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - invalid_span
    - const_cast<Span*>
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::ClearSpan(PageId page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - page
    - absl_nonnull
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - pagemap
    linkageType: ''
    returnType: void
    signature: void StaticForwarder::SetSpan(PageId page, Span* absl_nonnull span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - HugePage::first_page
    - pagemap
    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:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 142
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    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:150,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    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:154,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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: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: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus StaticForwarder::CollapsePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: Range::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    - Dst: Range::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.cc
    functionUses: 0
    functionsReached:
    - system_allocator
    - Range::start_addr
    - Range::in_bytes
    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
    - size
    - CheckFreelist
    - 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: 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:78,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:81,1
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:123,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:138,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:139,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:140,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:141,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:142,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:154,1
    - Dst: ComputeValue
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:161,1
    - Dst: tcmalloc_internal::CacheTopology::Instance
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:172,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:179,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:188,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:188,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: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:193,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:193,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: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:198,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:198,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: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:203,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:203,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: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:208,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:208,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: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:213,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:213,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: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:218,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:218,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: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:223,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:223,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: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:228,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:228,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: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:233,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:233,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: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:238,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:238,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: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:243,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:243,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: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:248,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:248,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: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:253,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:253,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: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:258,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:258,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: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:263,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:263,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: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:268,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:268,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: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:273,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:273,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: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:278,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:278,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: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:283,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:283,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: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:288,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:288,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: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:293,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:293,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: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: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:298,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:298,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:299,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:299,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:301,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:301,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:302,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:302,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:303,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:303,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:304,1
    - Dst: RpcMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:304,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:319,1
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:322,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:322,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:331,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:339,1
    - Dst: absl::base_internal::LowLevelAlloc::DeleteArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:339,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:407,1
    - Dst: H::combine
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:419,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:419,1
    - Dst: std::fill_n
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:438,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:439,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:447,1
    - Dst: std::make_unique<DeallocationStackTraceTable>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:459,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:460,1
    - Dst: Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:465,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:473,1
    - Dst: StopAndRecord
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:474,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:475,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:476,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:478,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:512,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:513,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:514,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:515,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:516,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:517,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:518,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:521,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:531,1
    - Dst: ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:534,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:544,1
    - Dst: DeallocationProfiler*::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:556,1
    - Dst: DeallocationProfiler*::ReportFree
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:566,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:580,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:591,1
    - Dst: CpuThreadMatchingStatus
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:599,1
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:608,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:611,1
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:615,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:618,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:618,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:622,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:628,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:630,1
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:646,1
    - Dst: std::lround
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:652,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:667,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:667,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:680,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:690,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:691,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:692,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:693,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:712,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:715,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:729,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:732,1
    - Dst: std::make_unique<DeallocationProfiler>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:738,1
    - Dst: Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:745,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:746,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:749,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:765,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:770,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 193
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 782
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - DeallocationProfiler*::ReportMalloc
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - TC_ASSERT_LT
    - tcmalloc::Profile::Profile
    - std::make_unique<DeallocationStackTraceTable>
    - std::fill_n
    - static_cast<T*>
    - func
    - tcmalloc_internal::CacheTopology::Instance
    - absl::base_internal::LowLevelAlloc::NewArena
    - TC_CHECK_EQ
    - ComputeValue
    - Remove
    - TC_ASSERT_EQ
    - absl::base_internal::GetTID
    - RpcMatchingStatus
    - find
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::copy
    - H::combine
    - bucketize
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - absl::Nanoseconds
    - std::move
    - std::equal
    - Stop
    - std::lround
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - ComputeIndex
    - sqrt
    - absl::Now
    - absl::ToDoubleNanoseconds
    - numa_topology
    - static_cast<uint64_t>
    - std::min
    - ReportMalloc
    - erase
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - TC_CHECK_NE
    - Add
    - static_cast<int>
    - StopAndRecord
    - GetNumaId
    - CpuThreadMatchingStatus
    - sampled_allocation_recorder
    - static_cast<hot_cold_t>
    - reset
    - std::make_unique<DeallocationProfiler>
    - std::max
    - static_cast<double>
    - const_cast<void*>
    - tcmalloc_internal::PageTracker::ReleaseFree
    - TC_CHECK
    - absl::base_internal::LowLevelAlloc::DeleteArena
    - H::combine_contiguous
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - GetL3Id
    - tcmalloc_internal::max
    - AddTrace
    - tcmalloc_internal::ThreadCache::Allocate
    - DeallocationProfiler*::ReportFree
    - end
    - ABSL_ARRAYSIZE
    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: 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()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    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: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    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:78,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: deallocationz::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::Allocate
    - TC_ASSERT_EQ
    - static_cast<T*>
    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:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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:97,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: deallocationz::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - H::combine_contiguous
    - std::move
    - H::combine
    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:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 125
    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:138,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:139,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:140,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:141,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:142,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: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    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:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    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:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    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: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::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:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    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: 0
    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()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    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: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    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:78,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: deallocationz::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::Allocate
    - TC_ASSERT_EQ
    - static_cast<T*>
    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:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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:97,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: deallocationz::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - H::combine_contiguous
    - std::move
    - H::combine
    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:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 125
    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:138,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:139,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:140,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:141,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:142,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: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    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:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    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:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    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: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::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:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    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:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    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:322,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: deallocationz::DeallocationProfiler::MyAllocator::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    - const_cast<void*>
    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:331,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: deallocationz::DeallocationProfiler::MyAllocator::LowLevelArenaReference
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelAlloc::NewArena
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void LowLevelArenaReference()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:339,1
    - Dst: absl::base_internal::LowLevelAlloc::DeleteArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: ~LowLevelArenaReference()
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - absl::base_internal::LowLevelAlloc::DeleteArena
    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: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    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: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    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: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    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: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    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: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    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:419,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    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: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    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:438,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Value
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::fill_n
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DeallocationStackTraceTable>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:459,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - DeallocationProfilerList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: deallocationz::DeallocationProfiler::DeallocationProfiler
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - Add
    - std::make_unique<DeallocationStackTraceTable>
    linkageType: ''
    returnType: void
    signature: void DeallocationProfiler(DeallocationProfilerList* list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    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:473,1
    - Dst: StopAndRecord
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:474,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:475,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:476,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: deallocationz::DeallocationProfiler::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Profile::Profile
    - std::move
    - StopAndRecord
    - Remove
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: tcmalloc::Profile
    signature: tcmalloc::Profile Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: 8
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - tcmalloc_internal::StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: deallocationz::DeallocationProfiler::ReportMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - GetL3Id
    - GetNumaId
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - absl::base_internal::GetTID
    - 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:512,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:513,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:514,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:515,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:516,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:517,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:518,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - tcmalloc_internal::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 522
    functionName: deallocationz::DeallocationProfiler::ReportFree
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetL3Id
    - GetNumaId
    - AddTrace
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - absl::Now
    - find
    - absl::base_internal::GetTID
    - end
    - erase
    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:531,1
    - Dst: DeallocationProfiler*::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - profiler
    argTypes:
    - DeallocationProfiler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 536
    functionName: deallocationz::DeallocationProfilerList::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - DeallocationProfiler*::ReportMalloc
    - sampled_allocation_recorder
    linkageType: ''
    returnType: void
    signature: void DeallocationProfilerList::Add(DeallocationProfiler* profiler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - profiler
    argTypes:
    - DeallocationProfiler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 549
    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:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - tcmalloc_internal::StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 559
    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:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - tcmalloc_internal::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    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:580,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' allocs'
    argTypes:
    - AllocsTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 593
    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:599,1
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:608,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:611,1
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:615,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:618,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:618,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:622,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:628,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' alloc_trace'
    - ' dealloc_trace'
    argTypes:
    - DeallocationSampleRecord
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 632
    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
    - TC_ASSERT_LT
    - CpuThreadMatchingStatus
    - ComputeIndex
    - absl::ToDoubleNanoseconds
    - std::min
    - std::max
    - static_cast<double>
    - ABSL_ARRAYSIZE
    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:646,1
    - Dst: std::lround
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:652,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:667,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:667,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:680,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:690,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:691,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:692,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:693,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:712,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:715,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:729,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 735
    functionName: "DeallocationProfiler::DeallocationStackTraceTable::Iterate(\n    absl::FunctionRef<void(const
      Profile::Sample&)> func) const"
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - bucketize
    - std::lround
    - static_cast<hot_cold_t>
    - func
    - ComputeIndex
    - sqrt
    - std::max
    - static_cast<double>
    - std::copy
    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:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - DeallocationProfilerList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    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: 741
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 741
    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:745,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:746,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: deallocationz::DeallocationSample::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 1
    functionsReached:
    - reset
    - deallocationz::DeallocationSample::Stop
    - tcmalloc::Profile::Profile
    linkageType: ''
    returnType: tcmalloc::Profile
    signature: tcmalloc::Profile DeallocationSample::Stop() &&
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:765,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:770,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lifetime_ns
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 778
    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:765,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:770,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lifetime_ns
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 778
    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: 0
    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()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    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: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    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:78,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: deallocationz::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::Allocate
    - TC_ASSERT_EQ
    - static_cast<T*>
    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:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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:97,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: deallocationz::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - H::combine_contiguous
    - std::move
    - H::combine
    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:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 125
    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:138,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:139,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:140,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:141,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:142,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: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    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:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    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:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    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: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::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:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    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: 0
    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()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    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: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    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:78,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    - Dst: tcmalloc_internal::ThreadCache::Allocate
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: deallocationz::AllocAdaptor::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ThreadCache::Allocate
    - TC_ASSERT_EQ
    - static_cast<T*>
    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:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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:97,1
    - Dst: H::combine_contiguous
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: deallocationz::AbslHashValue
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - H::combine_contiguous
    - std::move
    - H::combine
    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:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 125
    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:138,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:139,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:140,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:141,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:142,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: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    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:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    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:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - dealloc
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    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: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::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:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    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:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    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:322,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: deallocationz::DeallocationProfiler::MyAllocator::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    - const_cast<void*>
    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:331,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: deallocationz::DeallocationProfiler::MyAllocator::LowLevelArenaReference
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - absl::base_internal::LowLevelAlloc::NewArena
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void LowLevelArenaReference()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:339,1
    - Dst: absl::base_internal::LowLevelAlloc::DeleteArena
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: ~LowLevelArenaReference()
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - absl::base_internal::LowLevelAlloc::DeleteArena
    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: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    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: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    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: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    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: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    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: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    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:419,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' c'
    argTypes:
    - H
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    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: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    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:438,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Value
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - std::fill_n
    - tcmalloc_internal::max
    linkageType: ''
    returnType: void
    signature: void Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DeallocationStackTraceTable>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:459,1
    - Dst: Add
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - DeallocationProfilerList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: deallocationz::DeallocationProfiler::DeallocationProfiler
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - Add
    - std::make_unique<DeallocationStackTraceTable>
    linkageType: ''
    returnType: void
    signature: void DeallocationProfiler(DeallocationProfilerList* list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    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:473,1
    - Dst: StopAndRecord
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:474,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:475,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:476,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: deallocationz::DeallocationProfiler::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Profile::Profile
    - std::move
    - StopAndRecord
    - Remove
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: tcmalloc::Profile
    signature: tcmalloc::Profile Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: 8
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - tcmalloc_internal::StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: deallocationz::DeallocationProfiler::ReportMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - GetL3Id
    - GetNumaId
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - absl::base_internal::GetTID
    - 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:512,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpu
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:513,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::get
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:514,1
    - Dst: GetL3Id
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:515,1
    - Dst: GetNumaId
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:516,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:517,1
    - Dst: tcmalloc::tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:518,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - tcmalloc_internal::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 522
    functionName: deallocationz::DeallocationProfiler::ReportFree
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpu
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - GetL3Id
    - GetNumaId
    - AddTrace
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    - absl::Now
    - find
    - absl::base_internal::GetTID
    - end
    - erase
    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:531,1
    - Dst: DeallocationProfiler*::ReportMalloc
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - profiler
    argTypes:
    - DeallocationProfiler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 536
    functionName: deallocationz::DeallocationProfilerList::Add
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - DeallocationProfiler*::ReportMalloc
    - sampled_allocation_recorder
    linkageType: ''
    returnType: void
    signature: void DeallocationProfilerList::Add(DeallocationProfiler* profiler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - profiler
    argTypes:
    - DeallocationProfiler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 549
    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:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' stack_trace'
    argTypes:
    - tcmalloc_internal::StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 559
    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:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - tcmalloc_internal::AllocHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    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:580,1
    - Dst: AddTrace
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' allocs'
    argTypes:
    - AllocsTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 593
    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:599,1
    - Dst: ComputeIndex
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:608,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:611,1
    - Dst: absl::ToDoubleNanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:615,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:618,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:618,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:622,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:628,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' alloc_trace'
    - ' dealloc_trace'
    argTypes:
    - DeallocationSampleRecord
    - DeallocationSampleRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 632
    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
    - TC_ASSERT_LT
    - CpuThreadMatchingStatus
    - ComputeIndex
    - absl::ToDoubleNanoseconds
    - std::min
    - std::max
    - static_cast<double>
    - ABSL_ARRAYSIZE
    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:646,1
    - Dst: std::lround
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:652,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:667,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:667,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:668,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:680,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:690,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:691,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:692,1
    - Dst: bucketize
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:693,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:712,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:715,1
    - Dst: std::copy
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:729,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 735
    functionName: "DeallocationProfiler::DeallocationStackTraceTable::Iterate(\n    absl::FunctionRef<void(const
      Profile::Sample&)> func) const"
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 0
    functionsReached:
    - bucketize
    - std::lround
    - static_cast<hot_cold_t>
    - func
    - ComputeIndex
    - sqrt
    - std::max
    - static_cast<double>
    - std::copy
    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:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - DeallocationProfilerList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    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: 741
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 741
    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:745,1
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:746,1
    - Dst: tcmalloc::Profile::Profile
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: deallocationz::DeallocationSample::Stop
    functionSourceFile: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    functionUses: 2
    functionsReached:
    - reset
    - deallocationz::DeallocationSample::Stop
    - tcmalloc::Profile::Profile
    linkageType: ''
    returnType: tcmalloc::Profile
    signature: tcmalloc::Profile DeallocationSample::Stop() &&
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:765,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:770,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lifetime_ns
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 778
    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:765,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:770,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/deallocation_profiler.cc:776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lifetime_ns
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 778
    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: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    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: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    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:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    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:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    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:89,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - insert
    - tcmalloc::tcmalloc_internal::ReleasedPages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    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: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    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: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    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: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:147,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:148,1
    - Dst: MockCollapse::MockCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:163,1
    - Dst: MockSetAnonVmaName::MockSetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:169,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:176,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:212,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:220,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:221,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:231,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:245,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: HugePageFiller::TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:253,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:266,1
    - Dst: HugePageFiller<PageTracker>::TryGetResult::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:272,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:273,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:276,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:282,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:285,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: std::vector::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:301,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:301,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:305,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:305,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:309,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:309,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:310,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:310,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:311,1
    - Dst: absl::flat_hash_map::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:313,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:315,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:315,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:321,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:324,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:327,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:328,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:331,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:361,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:367,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:370,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:372,1
    - Dst: HugePageFiller::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:384,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:385,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:392,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:394,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:394,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:417,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:418,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:419,1
    - Dst: HugePageFiller::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:421,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:430,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:432,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:434,1
    - Dst: auto*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:441,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:446,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:451,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:454,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: HugePageFiller::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:471,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:476,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:476,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:485,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: HugePageFiller::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:491,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:495,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:495,1
    - Dst: HugePageFiller::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:504,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:508,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:509,1
    - Dst: HugePageFiller::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:514,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: HugePageFiller::FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:523,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:524,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:527,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:529,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:578,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:583,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:585,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 204
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 592
    functionName: tcmalloc::tcmalloc_internal::FuzzFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - MockSetAnonVmaName::MockSetAnonVmaName
    - clear
    - tcmalloc::tcmalloc_internal::GetBitmap
    - memcpy
    - Clear
    - CHECK_EQ
    - CHECK_LE
    - std::min<size_t>
    - resize
    - HugePageFiller<PageTracker>::TryGetResult::pt::Get
    - HugePageFiller::ReleasePages
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - HugePageFiller::TreatHugepageTrackers
    - MockCollapse::MockCollapse
    - std::vector::resize
    - HugePageFiller::Put
    - PageTracker::PageTracker
    - Length
    - HugePageFiller::PrintInPbtxt
    - HugePageFiller::FetchFullyFreedTracker
    - PageTracker*::location
    - std::string::resize
    - HugePageFiller::AddSpanStats
    - std::vector::push_back
    - push_back
    - std::clamp<size_t>
    - CHECK
    - std::swap
    - erase
    - std::max<size_t>
    - reserve
    - raw_num
    - size
    - back
    - absl::flat_hash_map::erase
    - Length::raw_num
    - HugePageFiller::unmapped_pages
    - auto*::Get
    - HugePageFiller::free_pages
    - std::min
    - empty
    - FakePageFlags::FakePageFlags
    - std::vector::back
    - FakeResidency::FakeResidency
    - std::vector::size
    - HugePageFiller::Contribute
    - std::string::size
    - HugePageFiller::Print
    - HugePageFiller::FreePagesInPartialAllocs
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugePageFiller::TryGet
    - Printer::SpaceRequired
    - HugePageFiller::size
    - std::vector::empty
    - HugePage::first_page
    - NHugePages
    - tcmalloc::tcmalloc_internal::ReleasedPages
    - 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: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    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: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    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:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    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:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    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:89,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - insert
    - tcmalloc::tcmalloc_internal::ReleasedPages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    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: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    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: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    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: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:147,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:148,1
    - Dst: MockCollapse::MockCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:163,1
    - Dst: MockSetAnonVmaName::MockSetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:169,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:176,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:212,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:220,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:221,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:231,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:245,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: HugePageFiller::TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:253,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:266,1
    - Dst: HugePageFiller<PageTracker>::TryGetResult::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:272,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:273,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:276,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:282,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:285,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: std::vector::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:301,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:301,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:305,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:305,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:309,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:309,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:310,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:310,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:311,1
    - Dst: absl::flat_hash_map::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:313,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:315,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:315,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:321,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:324,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:327,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:328,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:331,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:361,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:367,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:370,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:372,1
    - Dst: HugePageFiller::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:384,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:385,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:392,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:394,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:394,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:417,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:418,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:419,1
    - Dst: HugePageFiller::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:421,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:430,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:432,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:434,1
    - Dst: auto*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:441,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:446,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:451,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:454,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: HugePageFiller::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:471,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:476,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:476,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:485,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: HugePageFiller::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:491,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:495,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:495,1
    - Dst: HugePageFiller::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:504,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:508,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:509,1
    - Dst: HugePageFiller::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:514,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: HugePageFiller::FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:523,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:524,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:527,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:529,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:578,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:583,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:585,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 204
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 592
    functionName: tcmalloc::tcmalloc_internal::FuzzFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - MockSetAnonVmaName::MockSetAnonVmaName
    - clear
    - tcmalloc::tcmalloc_internal::GetBitmap
    - memcpy
    - Clear
    - CHECK_EQ
    - CHECK_LE
    - std::min<size_t>
    - resize
    - HugePageFiller<PageTracker>::TryGetResult::pt::Get
    - HugePageFiller::ReleasePages
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - HugePageFiller::TreatHugepageTrackers
    - MockCollapse::MockCollapse
    - std::vector::resize
    - HugePageFiller::Put
    - PageTracker::PageTracker
    - Length
    - HugePageFiller::PrintInPbtxt
    - HugePageFiller::FetchFullyFreedTracker
    - PageTracker*::location
    - std::string::resize
    - HugePageFiller::AddSpanStats
    - std::vector::push_back
    - push_back
    - std::clamp<size_t>
    - CHECK
    - std::swap
    - erase
    - std::max<size_t>
    - reserve
    - raw_num
    - size
    - back
    - absl::flat_hash_map::erase
    - Length::raw_num
    - HugePageFiller::unmapped_pages
    - auto*::Get
    - HugePageFiller::free_pages
    - std::min
    - empty
    - FakePageFlags::FakePageFlags
    - std::vector::back
    - FakeResidency::FakeResidency
    - std::vector::size
    - HugePageFiller::Contribute
    - std::string::size
    - HugePageFiller::Print
    - HugePageFiller::FreePagesInPartialAllocs
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugePageFiller::TryGet
    - Printer::SpaceRequired
    - HugePageFiller::size
    - std::vector::empty
    - HugePage::first_page
    - NHugePages
    - tcmalloc::tcmalloc_internal::ReleasedPages
    - 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: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    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: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    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:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    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:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    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:89,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - insert
    - ReleasedPages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    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: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    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: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    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: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:147,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:148,1
    - Dst: MockCollapse::MockCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:163,1
    - Dst: MockSetAnonVmaName::MockSetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:169,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:176,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:212,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:220,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:221,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:231,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:245,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: HugePageFiller::TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:253,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:266,1
    - Dst: HugePageFiller<PageTracker>::TryGetResult::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:272,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:273,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:276,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:282,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:285,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: std::vector::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:301,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:301,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:305,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:305,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:309,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:309,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:310,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:310,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:311,1
    - Dst: absl::flat_hash_map::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:313,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:315,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:315,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:321,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:324,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:327,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:328,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:331,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:361,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:367,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:370,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:372,1
    - Dst: HugePageFiller::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:384,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:385,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:392,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:394,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:394,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:417,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:418,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:419,1
    - Dst: HugePageFiller::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:421,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:430,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:432,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:434,1
    - Dst: auto*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:441,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:446,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:451,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:454,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: HugePageFiller::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:471,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:476,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:476,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:485,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: HugePageFiller::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:491,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:495,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:495,1
    - Dst: HugePageFiller::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:504,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:508,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:509,1
    - Dst: HugePageFiller::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:514,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: HugePageFiller::FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:523,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:524,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:527,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:529,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:578,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:583,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:585,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 204
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 592
    functionName: tcmalloc::tcmalloc_internal::FuzzFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - MockSetAnonVmaName::MockSetAnonVmaName
    - clear
    - tcmalloc::tcmalloc_internal::GetBitmap
    - memcpy
    - Clear
    - CHECK_EQ
    - CHECK_LE
    - std::min<size_t>
    - resize
    - HugePageFiller<PageTracker>::TryGetResult::pt::Get
    - HugePageFiller::ReleasePages
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - HugePageFiller::TreatHugepageTrackers
    - MockCollapse::MockCollapse
    - std::vector::resize
    - HugePageFiller::Put
    - PageTracker::PageTracker
    - Length
    - HugePageFiller::PrintInPbtxt
    - HugePageFiller::FetchFullyFreedTracker
    - PageTracker*::location
    - std::string::resize
    - HugePageFiller::AddSpanStats
    - std::vector::push_back
    - push_back
    - std::clamp<size_t>
    - CHECK
    - std::swap
    - erase
    - std::max<size_t>
    - reserve
    - raw_num
    - size
    - back
    - absl::flat_hash_map::erase
    - Length::raw_num
    - HugePageFiller::unmapped_pages
    - auto*::Get
    - HugePageFiller::free_pages
    - std::min
    - empty
    - FakePageFlags::FakePageFlags
    - std::vector::back
    - FakeResidency::FakeResidency
    - std::vector::size
    - HugePageFiller::Contribute
    - std::string::size
    - HugePageFiller::Print
    - HugePageFiller::FreePagesInPartialAllocs
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugePageFiller::TryGet
    - Printer::SpaceRequired
    - HugePageFiller::size
    - std::vector::empty
    - HugePage::first_page
    - NHugePages
    - tcmalloc::tcmalloc_internal::ReleasedPages
    - 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: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    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: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    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:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    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:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    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:89,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - insert
    - ReleasedPages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    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: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    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: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    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: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:147,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:148,1
    - Dst: MockCollapse::MockCollapse
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:163,1
    - Dst: MockSetAnonVmaName::MockSetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:164,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:168,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:169,1
    - Dst: reserve
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:176,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:212,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:220,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:221,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:231,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:240,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:245,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:247,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:248,1
    - Dst: HugePageFiller::TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:253,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:266,1
    - Dst: HugePageFiller<PageTracker>::TryGetResult::pt::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:272,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:273,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:276,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:282,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:285,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:287,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:288,1
    - Dst: std::vector::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:301,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:301,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:304,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:305,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:305,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:309,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:309,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:310,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:310,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:311,1
    - Dst: absl::flat_hash_map::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:313,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:314,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:315,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:315,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:321,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:323,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:324,1
    - Dst: PageTracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:327,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:328,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:329,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:331,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:336,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:361,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:367,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:370,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:372,1
    - Dst: HugePageFiller::FreePagesInPartialAllocs
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:384,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:385,1
    - Dst: SkipSubreleaseIntervals::SkipSubreleaseEnabled
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:392,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:394,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:394,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:417,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:418,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:419,1
    - Dst: HugePageFiller::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:421,1
    - Dst: std::clamp<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:430,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:431,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:432,1
    - Dst: PageTracker::PageTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:434,1
    - Dst: auto*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:441,1
    - Dst: HugePageFiller::Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:446,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:451,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:454,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:457,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:458,1
    - Dst: HugePageFiller::free_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:468,1
    - Dst: HugePageFiller::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:471,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:476,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:476,1
    - Dst: CHECK_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:477,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:485,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:486,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:487,1
    - Dst: HugePageFiller::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:491,1
    - Dst: CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:494,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:495,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:495,1
    - Dst: HugePageFiller::AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:504,1
    - Dst: FakePageFlags::FakePageFlags
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:508,1
    - Dst: FakeResidency::FakeResidency
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:509,1
    - Dst: HugePageFiller::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:514,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: HugePageFiller::FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:517,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:523,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:524,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:527,1
    - Dst: tcmalloc::tcmalloc_internal::GetBitmap
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:529,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: tcmalloc::tcmalloc_internal::ReleasedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: HugePageFiller::unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:576,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:578,1
    - Dst: HugePageFiller::Put
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:583,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:585,1
    - Dst: CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    - Dst: HugePageFiller::size
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc:591,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 204
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 592
    functionName: tcmalloc::tcmalloc_internal::FuzzFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_filler_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - MockSetAnonVmaName::MockSetAnonVmaName
    - clear
    - tcmalloc::tcmalloc_internal::GetBitmap
    - memcpy
    - Clear
    - CHECK_EQ
    - CHECK_LE
    - std::min<size_t>
    - resize
    - HugePageFiller<PageTracker>::TryGetResult::pt::Get
    - HugePageFiller::ReleasePages
    - SkipSubreleaseIntervals::SkipSubreleaseEnabled
    - HugePageFiller::TreatHugepageTrackers
    - MockCollapse::MockCollapse
    - std::vector::resize
    - HugePageFiller::Put
    - PageTracker::PageTracker
    - Length
    - HugePageFiller::PrintInPbtxt
    - HugePageFiller::FetchFullyFreedTracker
    - PageTracker*::location
    - std::string::resize
    - HugePageFiller::AddSpanStats
    - std::vector::push_back
    - push_back
    - std::clamp<size_t>
    - CHECK
    - std::swap
    - erase
    - std::max<size_t>
    - reserve
    - raw_num
    - size
    - back
    - absl::flat_hash_map::erase
    - Length::raw_num
    - HugePageFiller::unmapped_pages
    - auto*::Get
    - HugePageFiller::free_pages
    - std::min
    - empty
    - FakePageFlags::FakePageFlags
    - std::vector::back
    - FakeResidency::FakeResidency
    - std::vector::size
    - HugePageFiller::Contribute
    - std::string::size
    - HugePageFiller::Print
    - HugePageFiller::FreePagesInPartialAllocs
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - HugePageFiller::TryGet
    - Printer::SpaceRequired
    - HugePageFiller::size
    - std::vector::empty
    - HugePage::first_page
    - NHugePages
    - tcmalloc::tcmalloc_internal::ReleasedPages
    - 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:56,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - std::make_unique<NiceMock<MockBackingInterface>>
    - size
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:64,1
    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: ~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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - get
    - testing::Mock::VerifyAndClearExpectations
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    - EXPECT_CALL
    - Unback
    - 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:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - size
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - size
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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:130,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    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:135,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:152,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:154,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:163,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - std::vector::end
    - absl::BitGen
    - std::vector::begin
    - Allocate
    - used_pages
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - Delete
    - std::vector::swap
    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:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - Allocate
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:207,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_TRUE
    - Release
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:247,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:253,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:258,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:269,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - DeleteUnback
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:285,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: Release
      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: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - Allocate
    - NHugePages
    - backed
    - Delete
    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:306,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: DeleteUnback
      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: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - absl::BitGen
    - std::vector::end
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - DeleteUnback
    - Allocate
    - NHugePages
    - std::shuffle
    - std::vector::push_back
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - store
    - n::raw_num
    - AssertHeld
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - Put
    - TC_CHECK_EQ
    - ThreadManager::Start
    - first_page
    - HugeRegion::HugeRegion
    - Length
    - ThreadManager::Stop
    - std::vector::resize
    - std::vector::push_back
    - std::swap
    - absl::SleepFor
    - raw_num
    - size
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - FuzzAlloc::r::n::raw_num
    - MaybeGet
    - exchange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - std::vector::empty
    - ~HugeRegion
    - Release
    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:
    - in_bytes
    - AddSpanStats
    - size
    - clear
    - stats
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - testing::ElementsAre
    - Allocate
    - Length::in_bytes
    - EXPECT_THAT
    - NHugePages
    - push_back
    - LargeSpanStats
    - auto::raw_num
    - Delete
    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:
    - AddSpanStats
    - std::vector<Length>*::clear
    - stats
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    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:650,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:650,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - Region::Region
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    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:670,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:673,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:678,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:679,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:682,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:695,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::free_backed
    - stats
    - EXPECT_EQ
    - ReleasePages
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - Length
    - auto::get
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - Length::in_bytes
    - Range
    - UseHugeRegionMoreOften
    - std::vector::push_back
    - ASSERT_TRUE
    - MaybeGet
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 2
    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: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:712,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:713,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:723,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:738,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:739,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:740,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:741,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:776,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:786,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:787,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:791,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:796,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 798
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - stats
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - tcmalloc_internal::HugeRegion::size
    - std::vector::pop_back
    - UseHugeRegionMoreOften
    - Print
    - std::vector::erase
    - EXPECT_EQ
    - Length
    - Contribute
    - Range
    - std::vector::push_back
    - ASSERT_TRUE
    - std::swap
    - TC_LOG
    - auto::stats
    - std::vector::end
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - MaybeGet
    - auto::get
    - unmapped_pages
    - free_backed
    - std::sort
    - auto::used_pages
    - printf
    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:56,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - std::make_unique<NiceMock<MockBackingInterface>>
    - size
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:64,1
    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: ~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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - get
    - testing::Mock::VerifyAndClearExpectations
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    - EXPECT_CALL
    - Unback
    - 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:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 1
    functionsReached:
    - raw_num
    - size
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - raw_num
    - size
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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:130,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    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:135,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:152,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:154,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:163,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - std::vector::end
    - absl::BitGen
    - std::vector::begin
    - Allocate
    - used_pages
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - Delete
    - std::vector::swap
    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:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - Allocate
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:207,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_TRUE
    - Release
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:247,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:253,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:258,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:269,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - DeleteUnback
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:285,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: Release
      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: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - Allocate
    - NHugePages
    - backed
    - Delete
    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:306,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: DeleteUnback
      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: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - absl::BitGen
    - std::vector::end
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - DeleteUnback
    - Allocate
    - NHugePages
    - std::shuffle
    - std::vector::push_back
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - store
    - n::raw_num
    - AssertHeld
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - Put
    - TC_CHECK_EQ
    - ThreadManager::Start
    - first_page
    - HugeRegion::HugeRegion
    - Length
    - ThreadManager::Stop
    - std::vector::resize
    - std::vector::push_back
    - std::swap
    - absl::SleepFor
    - raw_num
    - size
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - FuzzAlloc::r::n::raw_num
    - MaybeGet
    - exchange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - std::vector::empty
    - ~HugeRegion
    - Release
    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:
    - in_bytes
    - AddSpanStats
    - size
    - clear
    - stats
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - testing::ElementsAre
    - Allocate
    - Length::in_bytes
    - EXPECT_THAT
    - NHugePages
    - push_back
    - LargeSpanStats
    - auto::raw_num
    - Delete
    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:
    - AddSpanStats
    - std::vector<Length>*::clear
    - stats
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    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:650,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:650,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - Region::Region
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    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:670,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:673,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:678,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:679,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:682,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:695,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::free_backed
    - stats
    - EXPECT_EQ
    - ReleasePages
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - Length
    - auto::get
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - Length::in_bytes
    - Range
    - UseHugeRegionMoreOften
    - std::vector::push_back
    - ASSERT_TRUE
    - MaybeGet
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 2
    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: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:712,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:713,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:723,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:738,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:739,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:740,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:741,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:776,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:786,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:787,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:791,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:796,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 798
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - stats
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - tcmalloc_internal::HugeRegion::size
    - std::vector::pop_back
    - UseHugeRegionMoreOften
    - Print
    - std::vector::erase
    - EXPECT_EQ
    - Length
    - Contribute
    - Range
    - std::vector::push_back
    - ASSERT_TRUE
    - std::swap
    - TC_LOG
    - auto::stats
    - std::vector::end
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - MaybeGet
    - auto::get
    - unmapped_pages
    - free_backed
    - std::sort
    - auto::used_pages
    - printf
    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:56,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - std::make_unique<NiceMock<MockBackingInterface>>
    - size
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:64,1
    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: ~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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - get
    - testing::Mock::VerifyAndClearExpectations
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    - EXPECT_CALL
    - Unback
    - 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:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 2
    functionsReached:
    - raw_num
    - size
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - raw_num
    - size
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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:130,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    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:135,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:152,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:154,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:163,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - std::vector::end
    - absl::BitGen
    - std::vector::begin
    - Allocate
    - used_pages
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - Delete
    - std::vector::swap
    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:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - Allocate
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:207,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_TRUE
    - Release
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:247,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:253,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:258,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:269,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - DeleteUnback
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:285,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: Release
      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: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - Allocate
    - NHugePages
    - backed
    - Delete
    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:306,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: DeleteUnback
      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: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - absl::BitGen
    - std::vector::end
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - DeleteUnback
    - Allocate
    - NHugePages
    - std::shuffle
    - std::vector::push_back
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - store
    - n::raw_num
    - AssertHeld
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - Put
    - TC_CHECK_EQ
    - ThreadManager::Start
    - first_page
    - HugeRegion::HugeRegion
    - Length
    - ThreadManager::Stop
    - std::vector::resize
    - std::vector::push_back
    - std::swap
    - absl::SleepFor
    - raw_num
    - size
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - FuzzAlloc::r::n::raw_num
    - MaybeGet
    - exchange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - std::vector::empty
    - ~HugeRegion
    - Release
    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:
    - in_bytes
    - AddSpanStats
    - size
    - clear
    - stats
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - testing::ElementsAre
    - Allocate
    - Length::in_bytes
    - EXPECT_THAT
    - NHugePages
    - push_back
    - LargeSpanStats
    - auto::raw_num
    - Delete
    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:
    - AddSpanStats
    - std::vector<Length>*::clear
    - stats
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    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:650,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:650,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - Region::Region
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    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:670,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:673,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:678,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:679,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:682,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:695,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::free_backed
    - stats
    - EXPECT_EQ
    - ReleasePages
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - Length
    - auto::get
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - Length::in_bytes
    - Range
    - UseHugeRegionMoreOften
    - std::vector::push_back
    - ASSERT_TRUE
    - MaybeGet
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 2
    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: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:712,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:713,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:723,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:738,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:739,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:740,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:741,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:776,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:786,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:787,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:791,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:796,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 798
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - stats
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - tcmalloc_internal::HugeRegion::size
    - std::vector::pop_back
    - UseHugeRegionMoreOften
    - Print
    - std::vector::erase
    - EXPECT_EQ
    - Length
    - Contribute
    - Range
    - std::vector::push_back
    - ASSERT_TRUE
    - std::swap
    - TC_LOG
    - auto::stats
    - std::vector::end
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - MaybeGet
    - auto::get
    - unmapped_pages
    - free_backed
    - std::sort
    - auto::used_pages
    - printf
    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:56,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - std::make_unique<NiceMock<MockBackingInterface>>
    - size
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:64,1
    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: ~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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - get
    - testing::Mock::VerifyAndClearExpectations
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    - EXPECT_CALL
    - Unback
    - 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:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 3
    functionsReached:
    - raw_num
    - size
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - raw_num
    - size
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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:130,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    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:135,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:152,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:154,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:163,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - std::vector::end
    - absl::BitGen
    - std::vector::begin
    - Allocate
    - used_pages
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - Delete
    - std::vector::swap
    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:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - Allocate
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:207,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_TRUE
    - Release
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:247,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:253,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:258,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:269,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - DeleteUnback
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:285,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: Release
      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: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - Allocate
    - NHugePages
    - backed
    - Delete
    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:306,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: DeleteUnback
      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: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - absl::BitGen
    - std::vector::end
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - DeleteUnback
    - Allocate
    - NHugePages
    - std::shuffle
    - std::vector::push_back
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - store
    - n::raw_num
    - AssertHeld
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - Put
    - TC_CHECK_EQ
    - ThreadManager::Start
    - first_page
    - HugeRegion::HugeRegion
    - Length
    - ThreadManager::Stop
    - std::vector::resize
    - std::vector::push_back
    - std::swap
    - absl::SleepFor
    - raw_num
    - size
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - FuzzAlloc::r::n::raw_num
    - MaybeGet
    - exchange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - std::vector::empty
    - ~HugeRegion
    - Release
    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:
    - in_bytes
    - AddSpanStats
    - size
    - clear
    - stats
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - testing::ElementsAre
    - Allocate
    - Length::in_bytes
    - EXPECT_THAT
    - NHugePages
    - push_back
    - LargeSpanStats
    - auto::raw_num
    - Delete
    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:
    - AddSpanStats
    - std::vector<Length>*::clear
    - stats
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    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:650,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:650,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - Region::Region
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    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:670,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:673,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:678,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:679,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:682,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:695,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::free_backed
    - stats
    - EXPECT_EQ
    - ReleasePages
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - Length
    - auto::get
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - Length::in_bytes
    - Range
    - UseHugeRegionMoreOften
    - std::vector::push_back
    - ASSERT_TRUE
    - MaybeGet
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 2
    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: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:712,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:713,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:723,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:738,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:739,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:740,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:741,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:776,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:786,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:787,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:791,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:796,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 798
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - stats
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - tcmalloc_internal::HugeRegion::size
    - std::vector::pop_back
    - UseHugeRegionMoreOften
    - Print
    - std::vector::erase
    - EXPECT_EQ
    - Length
    - Contribute
    - Range
    - std::vector::push_back
    - ASSERT_TRUE
    - std::swap
    - TC_LOG
    - auto::stats
    - std::vector::end
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - MaybeGet
    - auto::get
    - unmapped_pages
    - free_backed
    - std::sort
    - auto::used_pages
    - printf
    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:56,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - std::make_unique<NiceMock<MockBackingInterface>>
    - size
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 64
    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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - get
    - testing::Mock::VerifyAndClearExpectations
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    - EXPECT_CALL
    - Unback
    - 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:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 4
    functionsReached:
    - raw_num
    - size
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 8
    functionsReached:
    - raw_num
    - size
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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:130,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    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:135,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:152,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:154,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:163,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - std::vector::end
    - absl::BitGen
    - std::vector::begin
    - Allocate
    - used_pages
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - Delete
    - std::vector::swap
    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:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - Allocate
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:207,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_TRUE
    - Release
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:247,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:253,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:258,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:269,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - DeleteUnback
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:285,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: Release
      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: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - Allocate
    - NHugePages
    - backed
    - Delete
    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:306,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: DeleteUnback
      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: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - absl::BitGen
    - std::vector::end
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - DeleteUnback
    - Allocate
    - NHugePages
    - std::shuffle
    - std::vector::push_back
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - store
    - n::raw_num
    - AssertHeld
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - Put
    - TC_CHECK_EQ
    - ThreadManager::Start
    - first_page
    - HugeRegion::HugeRegion
    - Length
    - ThreadManager::Stop
    - std::vector::resize
    - std::vector::push_back
    - std::swap
    - absl::SleepFor
    - raw_num
    - size
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - FuzzAlloc::r::n::raw_num
    - MaybeGet
    - exchange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - std::vector::empty
    - ~HugeRegion
    - Release
    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:
    - in_bytes
    - AddSpanStats
    - size
    - clear
    - stats
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - testing::ElementsAre
    - Allocate
    - Length::in_bytes
    - EXPECT_THAT
    - NHugePages
    - push_back
    - LargeSpanStats
    - auto::raw_num
    - Delete
    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:
    - AddSpanStats
    - std::vector<Length>*::clear
    - stats
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    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:650,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:650,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - Region::Region
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    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:670,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:673,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:678,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:679,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:682,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:695,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::free_backed
    - stats
    - EXPECT_EQ
    - ReleasePages
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - Length
    - auto::get
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - Length::in_bytes
    - Range
    - UseHugeRegionMoreOften
    - std::vector::push_back
    - ASSERT_TRUE
    - MaybeGet
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 2
    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: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:712,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:713,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:723,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:738,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:739,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:740,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:741,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:776,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:786,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:787,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:791,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:796,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 798
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - stats
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - tcmalloc_internal::HugeRegion::size
    - std::vector::pop_back
    - UseHugeRegionMoreOften
    - Print
    - std::vector::erase
    - EXPECT_EQ
    - Length
    - Contribute
    - Range
    - std::vector::push_back
    - ASSERT_TRUE
    - std::swap
    - TC_LOG
    - auto::stats
    - std::vector::end
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - MaybeGet
    - auto::get
    - unmapped_pages
    - free_backed
    - std::sort
    - auto::used_pages
    - printf
    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:56,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - std::make_unique<NiceMock<MockBackingInterface>>
    - size
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 64
    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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - get
    - testing::Mock::VerifyAndClearExpectations
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    - EXPECT_CALL
    - Unback
    - 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:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 5
    functionsReached:
    - raw_num
    - size
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 10
    functionsReached:
    - raw_num
    - size
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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:130,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    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:135,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:152,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:154,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:163,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - std::vector::end
    - absl::BitGen
    - std::vector::begin
    - Allocate
    - used_pages
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - Delete
    - std::vector::swap
    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:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - Allocate
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:207,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_TRUE
    - Release
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:247,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:253,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:258,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:269,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - DeleteUnback
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:285,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: Release
      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: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - Allocate
    - NHugePages
    - backed
    - Delete
    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:306,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: DeleteUnback
      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: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - absl::BitGen
    - std::vector::end
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - DeleteUnback
    - Allocate
    - NHugePages
    - std::shuffle
    - std::vector::push_back
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - store
    - n::raw_num
    - AssertHeld
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - Put
    - TC_CHECK_EQ
    - ThreadManager::Start
    - first_page
    - HugeRegion::HugeRegion
    - Length
    - ThreadManager::Stop
    - std::vector::resize
    - std::vector::push_back
    - std::swap
    - absl::SleepFor
    - raw_num
    - size
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - FuzzAlloc::r::n::raw_num
    - MaybeGet
    - exchange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - std::vector::empty
    - ~HugeRegion
    - Release
    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:
    - in_bytes
    - AddSpanStats
    - size
    - clear
    - stats
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - testing::ElementsAre
    - Allocate
    - Length::in_bytes
    - EXPECT_THAT
    - NHugePages
    - push_back
    - LargeSpanStats
    - auto::raw_num
    - Delete
    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:
    - AddSpanStats
    - std::vector<Length>*::clear
    - stats
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    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:650,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:650,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - Region::Region
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    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:670,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:673,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:678,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:679,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:682,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:695,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::free_backed
    - stats
    - EXPECT_EQ
    - ReleasePages
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - Length
    - auto::get
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - Length::in_bytes
    - Range
    - UseHugeRegionMoreOften
    - std::vector::push_back
    - ASSERT_TRUE
    - MaybeGet
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 2
    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: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:712,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:713,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:723,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:738,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:739,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:740,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:741,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:776,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:786,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:787,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:791,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:796,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 798
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - stats
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - tcmalloc_internal::HugeRegion::size
    - std::vector::pop_back
    - UseHugeRegionMoreOften
    - Print
    - std::vector::erase
    - EXPECT_EQ
    - Length
    - Contribute
    - Range
    - std::vector::push_back
    - ASSERT_TRUE
    - std::swap
    - TC_LOG
    - auto::stats
    - std::vector::end
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - MaybeGet
    - auto::get
    - unmapped_pages
    - free_backed
    - std::sort
    - auto::used_pages
    - printf
    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:56,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - std::make_unique<NiceMock<MockBackingInterface>>
    - size
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:64,1
    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: ~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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - get
    - testing::Mock::VerifyAndClearExpectations
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    - EXPECT_CALL
    - Unback
    - 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:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 6
    functionsReached:
    - raw_num
    - size
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 12
    functionsReached:
    - raw_num
    - size
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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:130,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    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:135,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:152,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:154,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:163,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - std::vector::end
    - absl::BitGen
    - std::vector::begin
    - Allocate
    - used_pages
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - Delete
    - std::vector::swap
    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:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - Allocate
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:207,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_TRUE
    - Release
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:247,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:253,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:258,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:269,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - DeleteUnback
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:285,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: Release
      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: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - Allocate
    - NHugePages
    - backed
    - Delete
    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:306,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: DeleteUnback
      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: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - absl::BitGen
    - std::vector::end
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - DeleteUnback
    - Allocate
    - NHugePages
    - std::shuffle
    - std::vector::push_back
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - store
    - n::raw_num
    - AssertHeld
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - Put
    - TC_CHECK_EQ
    - ThreadManager::Start
    - first_page
    - HugeRegion::HugeRegion
    - Length
    - ThreadManager::Stop
    - std::vector::resize
    - std::vector::push_back
    - std::swap
    - absl::SleepFor
    - raw_num
    - size
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - FuzzAlloc::r::n::raw_num
    - MaybeGet
    - exchange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - std::vector::empty
    - ~HugeRegion
    - Release
    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:
    - in_bytes
    - AddSpanStats
    - size
    - clear
    - stats
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - testing::ElementsAre
    - Allocate
    - Length::in_bytes
    - EXPECT_THAT
    - NHugePages
    - push_back
    - LargeSpanStats
    - auto::raw_num
    - Delete
    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:
    - AddSpanStats
    - std::vector<Length>*::clear
    - stats
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    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:650,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:650,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - Region::Region
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    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:670,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:673,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:678,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:679,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:682,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:695,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::free_backed
    - stats
    - EXPECT_EQ
    - ReleasePages
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - Length
    - auto::get
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - Length::in_bytes
    - Range
    - UseHugeRegionMoreOften
    - std::vector::push_back
    - ASSERT_TRUE
    - MaybeGet
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 2
    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: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:712,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:713,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:723,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:738,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:739,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:740,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:741,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:776,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:786,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:787,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:791,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:796,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 798
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - stats
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - tcmalloc_internal::HugeRegion::size
    - std::vector::pop_back
    - UseHugeRegionMoreOften
    - Print
    - std::vector::erase
    - EXPECT_EQ
    - Length
    - Contribute
    - Range
    - std::vector::push_back
    - ASSERT_TRUE
    - std::swap
    - TC_LOG
    - auto::stats
    - std::vector::end
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - MaybeGet
    - auto::get
    - unmapped_pages
    - free_backed
    - std::sort
    - auto::used_pages
    - printf
    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:56,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:58,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::HugeRegionTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - std::make_unique<NiceMock<MockBackingInterface>>
    - size
    - HugePageContaining
    linkageType: ''
    returnType: void
    signature: void HugeRegionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:64,1
    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: ~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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::Mock::VerifyAndClearExpectations
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::CheckMock
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - get
    - testing::Mock::VerifyAndClearExpectations
    linkageType: ''
    returnType: void
    signature: void CheckMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:78,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::ExpectUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - HugeRange::start
    - EXPECT_CALL
    - Unback
    - 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:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:96,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:97,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:98,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 7
    functionsReached:
    - raw_num
    - size
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    linkageType: ''
    returnType: void
    signature: void Mark(Alloc a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:106,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:107,1
    - Dst: Alloc::n::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 14
    functionsReached:
    - raw_num
    - size
    - EXPECT_EQ
    - first_page
    - EXPECT_LE
    - Alloc::n::raw_num
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:122,1
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionTest::Mark
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - Length
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    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:130,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    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:135,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - Alloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tcmalloc::tcmalloc_internal::HugeRegionTest::DeleteUnback
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - Put
    - Range
    - tcmalloc::tcmalloc_internal::HugeRegionTest::Check
    linkageType: ''
    returnType: void
    signature: void DeleteUnback(Alloc a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:146,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:152,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:154,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:160,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:161,1
    - Dst: std::vector::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:163,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:165,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - std::vector::end
    - absl::BitGen
    - std::vector::begin
    - Allocate
    - used_pages
    - std::vector::size
    - std::shuffle
    - std::vector::push_back
    - Delete
    - std::vector::swap
    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:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:188,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:194,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - Allocate
    - std::vector::push_back
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReqsBacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:205,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:207,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:209,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:210,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:213,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:214,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:217,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:218,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:221,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_TRUE
    - Release
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, ReleaseFrac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:229,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:232,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:234,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:235,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:238,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:241,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:243,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:247,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:249,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:250,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:253,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:255,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:256,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:258,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:260,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:261,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:264,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:265,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:266,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:269,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:271,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:272,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - DeleteUnback
    - Allocate
    - NHugePages
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_F(HugeRegionTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:281,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:285,1
    - Dst: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:287,1
    - Dst: Release
      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: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:288,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:289,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:293,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    - Dst: backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - Length
    - Allocate
    - NHugePages
    - backed
    - Delete
    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:306,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:307,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:309,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:313,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: absl::BitGen
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:315,1
    - Dst: DeleteUnback
      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: ExpectUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:320,1
    - Dst: DeleteUnback
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:321,1
    - Dst: CheckMock
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - ExpectUnback
    - CheckMock
    - absl::BitGen
    - std::vector::end
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - DeleteUnback
    - Allocate
    - NHugePages
    - std::shuffle
    - std::vector::push_back
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: tcmalloc::tcmalloc_internal::MemorySimulation::ABSL_NO_THREAD_SAFETY_ANALYSIS
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - store
    - n::raw_num
    - AssertHeld
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - Put
    - TC_CHECK_EQ
    - ThreadManager::Start
    - first_page
    - HugeRegion::HugeRegion
    - Length
    - ThreadManager::Stop
    - std::vector::resize
    - std::vector::push_back
    - std::swap
    - absl::SleepFor
    - raw_num
    - size
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - FuzzAlloc::r::n::raw_num
    - MaybeGet
    - exchange
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - std::vector::empty
    - ~HugeRegion
    - Release
    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:
    - in_bytes
    - AddSpanStats
    - size
    - clear
    - stats
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - testing::ElementsAre
    - Allocate
    - Length::in_bytes
    - EXPECT_THAT
    - NHugePages
    - push_back
    - LargeSpanStats
    - auto::raw_num
    - Delete
    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:
    - AddSpanStats
    - std::vector<Length>*::clear
    - stats
    - std::vector<Length>*::push_back
    - Length
    - LargeSpanStats
    - auto::raw_num
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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:
    - ExpectUnback
    - tcmalloc_internal::Make
    - AddSpanStats
    - EXPECT_EQ
    - HugePageContaining
    - Length
    - DeleteUnback
    - tcmalloc_internal::HugeRegion::size
    - Allocate
    - used_pages
    - NHugePages
    - Delete
    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: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:644,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    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:650,1
    - Dst: Region::Region
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:650,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeRegion::size
    - Region::Region
    linkageType: ''
    returnType: std::unique_ptr<Region>
    signature: std::unique_ptr<Region> GetRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    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:670,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:672,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:673,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:674,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:678,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:679,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:682,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:685,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:688,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:689,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:693,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:694,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:695,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:697,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: auto::free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - auto::free_backed
    - stats
    - EXPECT_EQ
    - ReleasePages
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - Length
    - auto::get
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - Length::in_bytes
    - Range
    - UseHugeRegionMoreOften
    - std::vector::push_back
    - ASSERT_TRUE
    - MaybeGet
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeRegionSetTest, Release)
  - BBCount: 2
    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: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:711,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:712,1
    - Dst: GetRegion
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:713,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:714,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:715,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:716,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:717,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:722,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:723,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:728,1
    - Dst: std::vector::insert
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:729,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:730,1
    - Dst: std::vector::erase
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:734,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:738,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:739,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:740,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:741,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:742,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:744,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:745,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:751,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:752,1
    - Dst: auto::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:754,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:757,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:758,1
    - Dst: free_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:759,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:762,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:763,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:764,1
    - Dst: used_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:765,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:769,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:770,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:771,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:772,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:773,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:775,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:776,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:777,1
    - Dst: unmapped_pages
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:780,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:784,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:785,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:786,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:787,1
    - Dst: auto::stats
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:791,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:795,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:796,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_region_test.cc:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 798
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_region_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - stats
    - std::vector::insert
    - free_pages
    - std::vector::begin
    - tcmalloc_internal::HugeRegion::size
    - std::vector::pop_back
    - UseHugeRegionMoreOften
    - Print
    - std::vector::erase
    - EXPECT_EQ
    - Length
    - Contribute
    - Range
    - std::vector::push_back
    - ASSERT_TRUE
    - std::swap
    - TC_LOG
    - auto::stats
    - std::vector::end
    - MaybePut
    - ASSERT_FALSE
    - GetRegion
    - EXPECT_LE
    - std::vector::back
    - used_pages
    - std::vector::size
    - std::shuffle
    - MaybeGet
    - auto::get
    - unmapped_pages
    - free_backed
    - std::sort
    - auto::used_pages
    - printf
    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: 66
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 66
    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:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:56,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:59,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - EXPECT_EQ
    - ::operator delete
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator new
    - benchmark::DoNotOptimize
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, TokenAbuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:70,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:79,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:81,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:86,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:92,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:92,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:95,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:97,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:102,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:104,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:104,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:106,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 110
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::BlockingCounter::Wait
    - std::move
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - absl::Microseconds
    - absl::BlockingCounter::DecrementCount
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::thread::join
    - ::operator new
    - std::vector::clear
    - std::vector::push_back
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, RaceToClaim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:117,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:123,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:126,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:128,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:133,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:139,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:139,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:142,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:144,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:149,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:151,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:151,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:153,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::BlockingCounter::Wait
    - std::move
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - absl::Microseconds
    - absl::BlockingCounter::DecrementCount
    - std::thread::join
    - ::operator new
    - std::vector::clear
    - std::vector::push_back
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(DeallocationSampleTest, RaceToClaim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:161,1
    - Dst: absl::btree_set::insert
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:190,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:192,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:199,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:200,1
    - Dst: hot_cold::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:201,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:202,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:204,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:207,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:208,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:211,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:215,1
    - Dst: hot_cold::value_or
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:231,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:236,1
    - Dst: absl::btree_set::find
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:239,1
    - Dst: absl::btree_set::end
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:239,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:250,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: absl::flat_hash_map::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: absl::btree_set::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:257,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:258,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:263,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:264,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:269,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 277
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - alignment::has_value
    - tcmalloc_internal::SLL_Pop
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - SCOPED_TRACE
    - absl::flat_hash_map::size
    - absl::btree_set::insert
    - std::move
    - EXPECT_EQ
    - operator new
    - absl::btree_set::end
    - hot_cold::value_or
    - absl::btree_set::find
    - std::min
    - EXPECT_LE
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - std::max
    - hot_cold::has_value
    - EXPECT_GE
    - absl::btree_set::size
    - tcmalloc_internal::max
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, SampleAccuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:294,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:295,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:302,1
    - Dst: std::unique_ptr<char[]>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:303,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:306,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:312,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:333,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:341,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 346
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_NEAR
    - ::operator new[]
    - static_cast<double>
    - std::vector::reserve
    - std::unique_ptr<char[]>
    - std::vector::resize
    - push_back
    - auto::Iterate
    - static_cast<char*>
    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:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:56,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:59,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - EXPECT_EQ
    - ::operator delete
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator new
    - benchmark::DoNotOptimize
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, TokenAbuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:70,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:79,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:81,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:86,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:92,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:92,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:95,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:97,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:102,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:104,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:104,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:106,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 110
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::BlockingCounter::Wait
    - std::move
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - absl::Microseconds
    - absl::BlockingCounter::DecrementCount
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::thread::join
    - ::operator new
    - std::vector::clear
    - std::vector::push_back
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, RaceToClaim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:117,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:123,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:126,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:128,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:133,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:139,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:139,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:142,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:144,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:149,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:151,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:151,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:153,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::BlockingCounter::Wait
    - std::move
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - absl::Microseconds
    - absl::BlockingCounter::DecrementCount
    - std::thread::join
    - ::operator new
    - std::vector::clear
    - std::vector::push_back
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(DeallocationSampleTest, RaceToClaim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:161,1
    - Dst: absl::btree_set::insert
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:190,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:192,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:199,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:200,1
    - Dst: hot_cold::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:201,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:202,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:204,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:207,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:208,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:211,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:215,1
    - Dst: hot_cold::value_or
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:231,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:236,1
    - Dst: absl::btree_set::find
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:239,1
    - Dst: absl::btree_set::end
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:239,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:250,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: absl::flat_hash_map::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: absl::btree_set::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:257,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:258,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:263,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:264,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:269,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 277
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - alignment::has_value
    - tcmalloc_internal::SLL_Pop
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - SCOPED_TRACE
    - absl::flat_hash_map::size
    - absl::btree_set::insert
    - std::move
    - EXPECT_EQ
    - operator new
    - absl::btree_set::end
    - hot_cold::value_or
    - absl::btree_set::find
    - std::min
    - EXPECT_LE
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - std::max
    - hot_cold::has_value
    - EXPECT_GE
    - absl::btree_set::size
    - tcmalloc_internal::max
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, SampleAccuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:294,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:295,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:302,1
    - Dst: std::unique_ptr<char[]>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:303,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:306,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:312,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:333,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:341,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 346
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_NEAR
    - ::operator new[]
    - static_cast<double>
    - std::vector::reserve
    - std::unique_ptr<char[]>
    - std::vector::resize
    - push_back
    - auto::Iterate
    - static_cast<char*>
    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:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:56,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:59,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - EXPECT_EQ
    - ::operator delete
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator new
    - benchmark::DoNotOptimize
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, TokenAbuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:70,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:79,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:81,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:86,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:92,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:92,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:95,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:97,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:102,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:104,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:104,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:106,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 110
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::BlockingCounter::Wait
    - std::move
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - absl::Microseconds
    - absl::BlockingCounter::DecrementCount
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::thread::join
    - ::operator new
    - std::vector::clear
    - std::vector::push_back
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, RaceToClaim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:117,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:123,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:126,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:128,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:133,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:139,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:139,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:142,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:144,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:149,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:151,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:151,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:153,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::BlockingCounter::Wait
    - std::move
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - absl::Microseconds
    - absl::BlockingCounter::DecrementCount
    - std::thread::join
    - ::operator new
    - std::vector::clear
    - std::vector::push_back
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(DeallocationSampleTest, RaceToClaim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:161,1
    - Dst: absl::btree_set::insert
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:190,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:192,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:199,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:200,1
    - Dst: hot_cold::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:201,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:202,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:204,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:207,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:208,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:211,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:215,1
    - Dst: hot_cold::value_or
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:231,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:236,1
    - Dst: absl::btree_set::find
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:239,1
    - Dst: absl::btree_set::end
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:239,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:250,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: absl::flat_hash_map::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: absl::btree_set::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:257,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:258,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:263,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:264,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:269,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 277
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - alignment::has_value
    - tcmalloc_internal::SLL_Pop
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - SCOPED_TRACE
    - absl::flat_hash_map::size
    - absl::btree_set::insert
    - std::move
    - EXPECT_EQ
    - operator new
    - absl::btree_set::end
    - hot_cold::value_or
    - absl::btree_set::find
    - std::min
    - EXPECT_LE
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - std::max
    - hot_cold::has_value
    - EXPECT_GE
    - absl::btree_set::size
    - tcmalloc_internal::max
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, SampleAccuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:294,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:295,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:302,1
    - Dst: std::unique_ptr<char[]>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:303,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:306,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:312,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:333,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:341,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 346
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_NEAR
    - ::operator new[]
    - static_cast<double>
    - std::vector::reserve
    - std::unique_ptr<char[]>
    - std::vector::resize
    - push_back
    - auto::Iterate
    - static_cast<char*>
    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:54,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:56,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:59,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - EXPECT_EQ
    - ::operator delete
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - ::operator new
    - benchmark::DoNotOptimize
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, TokenAbuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:70,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:79,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:80,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:81,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:86,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:92,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:92,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:95,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:97,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:102,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:104,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:104,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:106,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:108,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 110
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::BlockingCounter::Wait
    - std::move
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - absl::Microseconds
    - absl::BlockingCounter::DecrementCount
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - std::thread::join
    - ::operator new
    - std::vector::clear
    - std::vector::push_back
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, RaceToClaim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:117,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:123,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:126,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:127,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:128,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:133,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:139,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:139,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:142,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:144,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:149,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:151,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:151,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:153,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:155,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - absl::BlockingCounter::Wait
    - std::move
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - absl::Microseconds
    - absl::BlockingCounter::DecrementCount
    - std::thread::join
    - ::operator new
    - std::vector::clear
    - std::vector::push_back
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(DeallocationSampleTest, RaceToClaim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:161,1
    - Dst: absl::btree_set::insert
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:190,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:192,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:199,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:200,1
    - Dst: hot_cold::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:201,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:202,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:204,1
    - Dst: tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:207,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:208,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:211,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:215,1
    - Dst: hot_cold::value_or
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:231,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:236,1
    - Dst: absl::btree_set::find
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:239,1
    - Dst: absl::btree_set::end
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:239,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:250,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: absl::flat_hash_map::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: absl::btree_set::size
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:254,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:257,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:258,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:262,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:263,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:264,1
    - Dst: tcmalloc_internal::SLL_Pop
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:269,1
    - Dst: alignment::has_value
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 277
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::sized_delete
    - alignment::has_value
    - tcmalloc_internal::SLL_Pop
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - SCOPED_TRACE
    - absl::flat_hash_map::size
    - absl::btree_set::insert
    - std::move
    - EXPECT_EQ
    - operator new
    - absl::btree_set::end
    - hot_cold::value_or
    - absl::btree_set::find
    - std::min
    - EXPECT_LE
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - std::max
    - hot_cold::has_value
    - EXPECT_GE
    - absl::btree_set::size
    - tcmalloc_internal::max
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, SampleAccuracy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:294,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:295,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:302,1
    - Dst: std::unique_ptr<char[]>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:303,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:304,1
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:306,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:312,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:333,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:341,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/profile_test.cc:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 346
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/profile_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_NEAR
    - ::operator new[]
    - static_cast<double>
    - std::vector::reserve
    - std::unique_ptr<char[]>
    - std::vector::resize
    - push_back
    - auto::Iterate
    - static_cast<char*>
    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:
    - std::max<ssize_t>
    - static_cast<ssize_t>
    - __builtin_ssubl_overflow
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - PickNextSamplingPoint
    - absl::base_internal::CycleClock::Now
    - InitIfNecessary
    - std::log
    - static_cast<uint64_t>
    - Init
    - TC_ASSERT_NE
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - GetGeometricVariable
    - static_cast<double>
    - GetSampleInterval
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::max
    - ABSL_PREDICT_TRUE
    - std::log2
    - static_cast<uint32_t>
    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::tcmalloc_internal::ExponentialBiased::NextRandom
    - InitIfNecessary
    - tcmalloc_internal::Sampler::PickNextSamplingPoint
    - 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:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Sampler::GetGeometricVariable
    - std::max<ssize_t>
    - tcmalloc_internal::Sampler::GetSampleInterval
    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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - static_cast<ssize_t>
    - tcmalloc_internal::max
    - std::log
    - std::log2
    - 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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::Sampler::PickNextSamplingPoint
    - tcmalloc_internal::Sampler::GetSampleInterval
    - ABSL_PREDICT_FALSE
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::max
    - tcmalloc_internal::Sampler::Init
    - ABSL_PREDICT_TRUE
    - __builtin_ssubl_overflow
    - static_cast<uint64_t>
    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::tcmalloc_internal::ExponentialBiased::NextRandom
    - InitIfNecessary
    - tcmalloc_internal::Sampler::PickNextSamplingPoint
    - 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:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Sampler::GetGeometricVariable
    - std::max<ssize_t>
    - tcmalloc_internal::Sampler::GetSampleInterval
    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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - static_cast<ssize_t>
    - tcmalloc_internal::max
    - std::log
    - std::log2
    - 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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::Sampler::PickNextSamplingPoint
    - tcmalloc_internal::Sampler::GetSampleInterval
    - ABSL_PREDICT_FALSE
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::max
    - tcmalloc_internal::Sampler::Init
    - ABSL_PREDICT_TRUE
    - __builtin_ssubl_overflow
    - static_cast<uint64_t>
    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: 85
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 85
    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: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    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: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    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:
    - data
    - size
    - TransferCacheEnv::Remove
    - TransferCacheEnv::Shrink
    - TransferCacheEnv::Grow
    - TransferCacheEnv::TryPlunder
    - TransferCacheEnv::transfer_cache
    - CHECK_EQ
    - FUZZ_TEST
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - TransferCacheEnv::Insert
    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:
    - data
    - size
    - TransferCacheEnv::Remove
    - TransferCacheEnv::Shrink
    - TransferCacheEnv::Grow
    - TransferCacheEnv::TryPlunder
    - TransferCacheEnv::transfer_cache
    - CHECK_EQ
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - TransferCacheEnv::Insert
    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:
    - data
    - size
    - TransferCacheEnv::Remove
    - TransferCacheEnv::Shrink
    - TransferCacheEnv::Grow
    - TransferCacheEnv::TryPlunder
    - TransferCacheEnv::transfer_cache
    - CHECK_EQ
    - tcmalloc::tcmalloc_internal::FakeTransferCacheManager::num_objects_to_move
    - TransferCacheEnv::Insert
    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:103,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:104,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:124,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:125,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:127,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:129,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:130,1
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:138,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:145,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:145,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:148,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:151,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:155,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:163,1
    - Dst: p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:163,1
    - Dst: n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:164,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:165,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:171,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:183,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:184,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:189,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:190,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:191,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:192,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:220,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:222,1
    - Dst: tcmalloc_internal::PageTracker::ReleaseFree
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 237
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - static_cast<T*>
    - absl::base_internal::LowLevelAlloc::NewArena
    - TC_ASSERT_EQ
    - find
    - p::start_addr
    - Span::Span
    - ll_arena
    - absl::base_internal::LowLevelCallOnce
    - absl::has_single_bit
    - compare_exchange_weak
    - reinterpret_cast<void*>
    - static_cast<uintptr_t>
    - n::in_bytes
    - TC_BUG
    - tcmalloc_internal::PageTracker::ReleaseFree
    - reinterpret_cast<uintptr_t>
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    - end
    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: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    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: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    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: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    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:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    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: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    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: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_error_number
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_error_number(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    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: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_userspace_collapse_heuristics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_use_userspace_collapse_heuristics(bool value)
  - 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: '& 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: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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:103,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - end
    - find
    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: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    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: 1
    argNames:
    - page
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ClearSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClearSpan(PageId page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSpan(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: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    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:124,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:125,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:127,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:129,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: ''
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 3847
    functionsReached:
    - Span::Span
    - reinterpret_cast<uintptr_t>
    - ll_arena
    - reinterpret_cast<void*>
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    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:138,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t*>
    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:145,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:145,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:148,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:151,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:155,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 159
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_CHECK
    - static_cast<uintptr_t>
    - load
    - absl::has_single_bit
    - compare_exchange_weak
    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: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    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:163,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:163,1
    - Dst: Range::n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:164,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_LE
    - Range::n::in_bytes
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    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:183,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    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::LowLevelAlloc::NewArena
    - absl::base_internal::LowLevelCallOnce
    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: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    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: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    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: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    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:220,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    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
    - ll_arena
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - static_cast<T*>
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    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: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    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: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    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:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    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: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    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: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_error_number
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_error_number(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    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: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_userspace_collapse_heuristics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_use_userspace_collapse_heuristics(bool value)
  - 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: '& 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: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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:103,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - end
    - find
    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: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    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: 1
    argNames:
    - page
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ClearSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClearSpan(PageId page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSpan(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: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    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:124,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:125,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:127,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:129,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: ''
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 3856
    functionsReached:
    - Span::Span
    - reinterpret_cast<uintptr_t>
    - ll_arena
    - reinterpret_cast<void*>
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    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:138,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t*>
    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:145,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:145,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:148,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:151,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:155,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 159
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_CHECK
    - static_cast<uintptr_t>
    - load
    - absl::has_single_bit
    - compare_exchange_weak
    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: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    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:163,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:163,1
    - Dst: Range::n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:164,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_LE
    - Range::n::in_bytes
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    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:183,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    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::LowLevelAlloc::NewArena
    - absl::base_internal::LowLevelCallOnce
    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: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    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: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    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: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    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:220,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    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
    - ll_arena
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - static_cast<T*>
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    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: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    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: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    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:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    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: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    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: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_error_number
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_error_number(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    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: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_userspace_collapse_heuristics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_use_userspace_collapse_heuristics(bool value)
  - 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: '& 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: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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:103,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - end
    - find
    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: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    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: 1
    argNames:
    - page
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ClearSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClearSpan(PageId page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSpan(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: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    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:124,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:125,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:127,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:129,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: ''
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 3865
    functionsReached:
    - Span::Span
    - reinterpret_cast<uintptr_t>
    - ll_arena
    - reinterpret_cast<void*>
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    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:138,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t*>
    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:145,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:145,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:148,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:151,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:155,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 159
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_CHECK
    - static_cast<uintptr_t>
    - load
    - absl::has_single_bit
    - compare_exchange_weak
    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: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    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:163,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:163,1
    - Dst: Range::n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:164,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_LE
    - Range::n::in_bytes
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    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:183,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    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::LowLevelAlloc::NewArena
    - absl::base_internal::LowLevelCallOnce
    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: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    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: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    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: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    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:220,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    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
    - ll_arena
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - static_cast<T*>
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    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: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    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: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    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:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    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: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    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: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    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: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_error_number
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_error_number(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    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: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_userspace_collapse_heuristics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_use_userspace_collapse_heuristics(bool value)
  - 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: '& 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: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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:103,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::GetHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - end
    - find
    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: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    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: 1
    argNames:
    - page
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ClearSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClearSpan(PageId page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - page
    - span
    argTypes:
    - PageId
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSpan(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: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    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:124,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:125,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:127,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:126,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:129,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: ''
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 3874
    functionsReached:
    - Span::Span
    - reinterpret_cast<uintptr_t>
    - ll_arena
    - reinterpret_cast<void*>
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - reinterpret_cast<uintptr_t*>
    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:138,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    - Dst: reinterpret_cast<uintptr_t*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ABSL_ATTRIBUTE_NONNULL
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PageTracker::ReleaseFree
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t*>
    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:145,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:145,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:148,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:151,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:155,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 159
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - TC_CHECK
    - static_cast<uintptr_t>
    - load
    - absl::has_single_bit
    - compare_exchange_weak
    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: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    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:163,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:163,1
    - Dst: Range::n::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:164,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_LE
    - Range::n::in_bytes
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus ReleasePages(Range r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::CollapsePages
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    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:183,1
    - Dst: absl::base_internal::LowLevelAlloc::NewArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    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::LowLevelAlloc::NewArena
    - absl::base_internal::LowLevelCallOnce
    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: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    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: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    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: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    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:220,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: absl::base_internal::LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:221,1
    - Dst: ll_arena
      Src: /src/tcmalloc/tcmalloc/mock_huge_page_static_forwarder.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    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
    - ll_arena
    - absl::base_internal::LowLevelAlloc::AllocWithArena
    - static_cast<T*>
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:46,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:47,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:48,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:48,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:50,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:55,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:56,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:57,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:58,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:65,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:67,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:69,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:77,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:78,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:79,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:86,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span.cc:89,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:90,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:93,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span.cc:104,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:144,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.cc:145,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:153,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/span.cc:160,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:160,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:161,1
    - Dst: bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/span.cc:162,1
    - Dst: bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/span.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:170,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:170,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:175,1
    - Dst: BuildBitmap
      Src: /src/tcmalloc/tcmalloc/span.cc:176,1
    - Dst: BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:177,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:181,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span.cc:182,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.cc:183,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/span.cc:183,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:188,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span.cc:190,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:200,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:212,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    - Dst: IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:231,1
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:242,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/span.cc:247,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/span.cc:247,1
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 253
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - UseBitmapForSize
    - memset
    - static_cast<void*>
    - TC_CHECK_GT
    - TC_ASSERT_EQ
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - reinterpret_cast<ObjIdx*>
    - first_page
    - reinterpret_cast<char*>
    - Length
    - BitmapPopBatch
    - total_sampled_count_::Add
    - TC_ASSERT_GT
    - bitmap::size
    - TC_ASSERT_NE
    - Length::raw_num
    - store
    - is_large_or_sampled
    - bitmap::CountBits
    - size
    - IdxToPtr
    - AllocatedBytes
    - bitmap::Clear
    - static_cast<size_t>
    - Static::span_allocator
    - static_cast<double>
    - TC_CHECK
    - num_pages
    - load
    - sampled_objects_size_::Add
    - bitmap::SetRange
    - BuildBitmap
    - bytes_in_span
    - TC_ASSERT
    - TC_ASSERT_LE
    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:46,1
    - Dst: tcmalloc_internal::Span::num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:47,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:48,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:48,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:50,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:55,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:56,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:57,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sampled_allocation
    argTypes:
    - SampledAllocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::Span::Sample
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_CHECK
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - tcmalloc_internal::Span::num_pages
    - sampled_objects_size_::Add
    - AllocatedBytes
    - Length
    - TC_CHECK_GT
    - total_sampled_count_::Add
    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:65,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:67,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:69,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:77,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:78,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::Span::Unsample
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_CHECK
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - tcmalloc_internal::Span::num_pages
    - sampled_objects_size_::Add
    - AllocatedBytes
    - Length
    - TC_CHECK_GT
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation * Span::Unsample()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:86,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span.cc:89,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:90,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:93,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span.cc:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - object_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::Span::Fragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - load
    - bytes_in_span
    - 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:144,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - size
    argTypes:
    - ObjIdx
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::Span::BitmapIdxToPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 4
    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: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::Span::CalcReciprocal
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 25
    functionsReached:
    - TC_ASSERT_GT
    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:160,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:160,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:161,1
    - Dst: bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/span.cc:162,1
    - Dst: bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/span.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - size
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::Span::BuildBitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - store
    - bitmap::CountBits
    - bitmap::Clear
    - bitmap::SetRange
    - TC_ASSERT_EQ
    - TC_ASSERT_LE
    - bitmap::size
    linkageType: ''
    returnType: void
    signature: void Span::BuildBitmap(size_t size, size_t count) __restrict__
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:170,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:170,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:175,1
    - Dst: tcmalloc_internal::Span::BuildBitmap
      Src: /src/tcmalloc/tcmalloc/span.cc:176,1
    - Dst: tcmalloc_internal::Span::BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:177,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:181,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span.cc:182,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:183,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:183,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:188,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span.cc:190,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:200,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:212,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - size
    - count
    - batch
    - alloc_time
    argTypes:
    - size_t
    - size_t
    - absl::Span<void*>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 240
    functionName: tcmalloc_internal::Span::BuildFreelist
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IdxToPtr
    - store
    - TC_ASSERT_LT
    - tcmalloc_internal::Span::BuildBitmap
    - absl::Span<void*>::size
    - TC_ASSERT_NE
    - reinterpret_cast<char*>
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::BitmapPopBatch
    - tcmalloc_internal::Span::UseBitmapForSize
    - static_cast<size_t>
    - TC_ASSERT
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_GT
    - is_large_or_sampled
    linkageType: ''
    returnType: int
    signature: "int Span::BuildFreelist(size_t size, size_t count, absl::Span<void*>
      batch,\n                        uint64_t alloc_time) __restrict__"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    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:247,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/span.cc:247,1
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: tcmalloc_internal::Span::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 21
    functionsReached:
    - Static::span_allocator
    - static_cast<void*>
    - memset
    linkageType: ''
    returnType: void
    signature: void Span::Delete(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:46,1
    - Dst: tcmalloc_internal::Span::num_pages
      Src: /src/tcmalloc/tcmalloc/span.cc:47,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:48,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:48,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:50,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:55,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:56,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:57,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sampled_allocation
    argTypes:
    - SampledAllocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: tcmalloc_internal::Span::Sample
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_CHECK
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - tcmalloc_internal::Span::num_pages
    - sampled_objects_size_::Add
    - AllocatedBytes
    - Length
    - TC_CHECK_GT
    - total_sampled_count_::Add
    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:65,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span.cc:66,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/span.cc:67,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/span.cc:69,1
    - Dst: static_cast<tcmalloc_internal::StatsCounter::Value>
      Src: /src/tcmalloc/tcmalloc/span.cc:77,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/span.cc:78,1
    - Dst: sampled_objects_size_::Add
      Src: /src/tcmalloc/tcmalloc/span.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: tcmalloc_internal::Span::Unsample
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - Length::raw_num
    - TC_CHECK
    - static_cast<tcmalloc_internal::StatsCounter::Value>
    - tcmalloc_internal::Span::num_pages
    - sampled_objects_size_::Add
    - AllocatedBytes
    - Length
    - TC_CHECK_GT
    linkageType: ''
    returnType: SampledAllocation
    signature: SampledAllocation * Span::Unsample()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:86,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/span.cc:89,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/span.cc:90,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:93,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/span.cc:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - object_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::Span::Fragmentation
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - load
    - bytes_in_span
    - 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:144,1
    - Dst: reinterpret_cast<ObjIdx*>
      Src: /src/tcmalloc/tcmalloc/span.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - size
    argTypes:
    - ObjIdx
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: tcmalloc_internal::Span::BitmapIdxToPtr
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 4
    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: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: tcmalloc_internal::Span::CalcReciprocal
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 25
    functionsReached:
    - TC_ASSERT_GT
    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:160,1
    - Dst: bitmap::size
      Src: /src/tcmalloc/tcmalloc/span.cc:160,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:161,1
    - Dst: bitmap::Clear
      Src: /src/tcmalloc/tcmalloc/span.cc:162,1
    - Dst: bitmap::SetRange
      Src: /src/tcmalloc/tcmalloc/span.cc:164,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    - Dst: bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/span.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - size
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: tcmalloc_internal::Span::BuildBitmap
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 1
    functionsReached:
    - store
    - bitmap::CountBits
    - bitmap::Clear
    - bitmap::SetRange
    - TC_ASSERT_EQ
    - TC_ASSERT_LE
    - bitmap::size
    linkageType: ''
    returnType: void
    signature: void Span::BuildBitmap(size_t size, size_t count) __restrict__
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/span.cc:170,1
    - Dst: is_large_or_sampled
      Src: /src/tcmalloc/tcmalloc/span.cc:170,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/span.cc:171,1
    - Dst: tcmalloc_internal::Span::UseBitmapForSize
      Src: /src/tcmalloc/tcmalloc/span.cc:175,1
    - Dst: tcmalloc_internal::Span::BuildBitmap
      Src: /src/tcmalloc/tcmalloc/span.cc:176,1
    - Dst: tcmalloc_internal::Span::BitmapPopBatch
      Src: /src/tcmalloc/tcmalloc/span.cc:177,1
    - Dst: tcmalloc_internal::Span::first_page
      Src: /src/tcmalloc/tcmalloc/span.cc:181,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/span.cc:182,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:183,1
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/span.cc:183,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/span.cc:188,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/span.cc:190,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/span.cc:200,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/span.cc:212,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/span.cc:223,1
    - Dst: tcmalloc_internal::Span::IdxToPtr
      Src: /src/tcmalloc/tcmalloc/span.cc:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - size
    - count
    - batch
    - alloc_time
    argTypes:
    - size_t
    - size_t
    - absl::Span<void*>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 240
    functionName: tcmalloc_internal::Span::BuildFreelist
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Span::IdxToPtr
    - store
    - TC_ASSERT_LT
    - tcmalloc_internal::Span::BuildBitmap
    - absl::Span<void*>::size
    - TC_ASSERT_NE
    - reinterpret_cast<char*>
    - TC_ASSERT_EQ
    - tcmalloc_internal::Span::BitmapPopBatch
    - tcmalloc_internal::Span::UseBitmapForSize
    - static_cast<size_t>
    - TC_ASSERT
    - tcmalloc_internal::Span::first_page
    - TC_ASSERT_GT
    - is_large_or_sampled
    linkageType: ''
    returnType: int
    signature: "int Span::BuildFreelist(size_t size, size_t count, absl::Span<void*>
      batch,\n                        uint64_t alloc_time) __restrict__"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    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:247,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/span.cc:247,1
    - Dst: Static::span_allocator
      Src: /src/tcmalloc/tcmalloc/span.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: tcmalloc_internal::Span::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/span.cc
    functionUses: 21
    functionsReached:
    - Static::span_allocator
    - static_cast<void*>
    - memset
    linkageType: ''
    returnType: void
    signature: void Span::Delete(Span* span)
  - BBCount: 128
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:117,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:121,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:134,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:138,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:142,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:146,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:150,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:154,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:158,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:162,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:166,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:170,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:174,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:177,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:180,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:184,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:191,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:194,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:196,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:199,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:209,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:221,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:224,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:225,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:232,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:296,1
    - Dst: absl::InfiniteDuration
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:298,1
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:317,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:518,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:521,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:577,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:580,1
    - Dst: AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:761,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:770,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:771,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:776,1
    - Dst: DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:776,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:784,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:785,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:797,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:798,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:802,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:811,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:812,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:814,1
    - Dst: UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:827,1
    - Dst: BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:860,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:864,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:868,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:889,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:890,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:892,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:899,1
    - Dst: get_shift_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:915,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:927,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:933,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:945,1
    - Dst: UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:950,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:960,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:966,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: PartitionShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:974,1
    - Dst: UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:975,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:981,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:982,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:983,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:984,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:990,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1010,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1011,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1019,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1022,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1025,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1027,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1032,1
    - Dst: AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1035,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1037,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1040,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1048,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1050,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1053,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    - Dst: UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1063,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1064,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    - Dst: UseBackingShardedTransferCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1072,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1073,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1077,1
    - Dst: AllocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1082,1
    - Dst: MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    - Dst: BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1089,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1094,1
    - Dst: FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1099,1
    - Dst: AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1105,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1109,1
    - Dst: Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1110,1
    - Dst: UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1125,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1135,1
    - Dst: FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1147,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1149,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1161,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1169,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1169,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1172,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1173,1
    - Dst: std::min<uint32_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1185,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1190,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1206,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1207,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1236,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1238,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1242,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1247,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1258,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1264,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1272,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1278,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1281,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1282,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1283,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1292,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1296,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1301,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1306,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1307,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1316,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1319,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1328,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    - Dst: Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1331,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1333,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1336,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1342,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1346,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1352,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1364,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1372,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1381,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1384,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1389,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1393,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1450,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1465,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1474,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1476,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1499,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1519,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1527,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1531,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1532,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1537,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1545,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1546,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1554,1
    - Dst: GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1569,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1570,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1575,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1579,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1581,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1585,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1593,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1599,1
    - Dst: UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1608,1
    - Dst: MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1610,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1612,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1618,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1621,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1630,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1634,1
    - Dst: ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1638,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1643,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1651,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1656,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1691,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1699,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1700,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1703,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1716,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1720,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1726,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1728,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1730,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1738,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1739,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1749,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1757,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1761,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1783,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1785,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1795,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1801,1
    - Dst: UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1807,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1818,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1820,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1847,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1848,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1869,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1881,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1883,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1897,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1898,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1921,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1921,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1929,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1930,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1931,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1964,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1969,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1972,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1973,1
    - Dst: ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2003,1
    - Dst: DeallocateSlowNoHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2016,1
    - Dst: MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2017,1
    - Dst: BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2022,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2023,1
    - Dst: CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2025,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2027,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2031,1
    - Dst: RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2036,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2044,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2057,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2064,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2072,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2079,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2087,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2088,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2093,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2094,1
    - Dst: MetadataMemoryUsage
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2100,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2106,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2107,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2115,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2118,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2122,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2130,1
    - Dst: capacity::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2135,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2140,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2146,1
    - Dst: forwarder_::class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2153,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2159,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2162,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2178,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2183,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2186,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2187,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2196,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2202,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2205,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2211,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2217,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2219,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2228,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2229,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2231,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2240,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2242,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2244,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2252,1
    - Dst: UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2255,1
    - Dst: GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2258,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2266,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2285,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2289,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2298,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2301,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2307,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2313,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2321,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2324,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2333,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2342,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2348,1
    - Dst: MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2350,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2352,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2369,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2372,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2380,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2381,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2389,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2390,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2395,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2400,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2406,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2412,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2414,1
    - Dst: GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2424,1
    - Dst: UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2425,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2433,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2446,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2447,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2451,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2460,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2466,1
    - Dst: Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2469,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2470,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2471,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2488,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2490,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2509,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2522,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2523,1
    - Dst: CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2524,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2525,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2533,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2534,1
    - Dst: HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2536,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2537,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2546,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2548,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2551,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2559,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2563,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2565,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2569,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2574,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2575,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2578,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2587,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: GetNumResizes
      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: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2597,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2605,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2606,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2610,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2618,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: GetNumResizes
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2632,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2635,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2636,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2637,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2646,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2656,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2657,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2658,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2660,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2669,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2677,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2685,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2693,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:2709,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2710,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2717,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2719,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2721,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2722,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2736,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2743,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2747,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2749,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2750,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2758,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2759,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2762,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2764,1
    - Dst: GetTotalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2772,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2778,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2795,1
    - Dst: State::CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2795,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2799,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2799,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2814,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2814,1
    - Dst: MallocExtension_Internal_MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2815,1
    CyclomaticComplexity: 242
    EdgeCount: 242
    ICount: 932
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 2823
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetAndUpdateIntervalMisses
    - StealFromOtherCache
    - Push
    - HasPopulated
    - per_cpu_caches_dynamic_slab_grow_threshold
    - memcpy
    - sizemap
    - print_miss_stats
    - MaxCapacity
    - TC_CHECK_EQ
    - MetadataMemoryUsage
    - ResizeInfo::ResizeInfo
    - TC_ASSERT_EQ
    - Drain
    - populated::load
    - GetTotalCacheMissStats
    - NumCPUs
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - lock::IsHeld
    - static_cast<int64_t>
    - RecordMiss
    - Alloc
    - PbtxtRegion::PrintBool
    - EstimateSlabBytes
    - num_size_class_resizes::fetch_add
    - alloc
    - ShrinkOtherCache
    - arena
    - Dealloc
    - numa_topology
    - Init
    - PushBatch
    - UsedBytes
    - compare_exchange_weak
    - CpuSet::Set
    - lock::lock
    - get_safe_miss_diff
    - reclaim_used_bytes::load
    - Grow
    - GetIntervalCacheMissStats
    - FillActiveCpuMask
    - InitCpu
    - forwarder_::class_to_size
    - fetch_add
    - UseWiderSlabs
    - MadviseAwaySlabs
    - GetMaxCapacity
    - MallocExtension_Internal_MarkThreadIdle
    - std::max
    - munlock
    - capacity::load
    - Capacity
    - ABSL_PREDICT_FALSE
    - ReleaseToBackingCache
    - AllocateFast
    - PrintI64
    - UpdateCapacity
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - printf
    - Destroy
    - madvise
    - ShouldResizeSlab
    - static_cast<size_t>
    - capacity::fetch_sub
    - populated::store
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - absl::FixedArray::end
    - available::load
    - HasPhysicalPopulated
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - AllocOrReuseSlabs
    - max_capacity
    - active_partitions
    - Tick
    - GetMaxCapacityFunctor
    - Refill
    - State::CpuCacheActive
    - Length
    - capacity::fetch_add
    - PbtxtRegion::PrintI64
    - CpuSet::Zero
    - GetAndUpdateIntervalCacheMissStats
    - TC_ASSERT_GT
    - UpdateMaxCapacities
    - UpdateIntervalMisses
    - PopBatch
    - populated_physical_cpu::load
    - reinterpret_cast<ResizeInfo*>
    - capacity::store
    - num_size_class_resizes::load
    - per_cpu_caches_dynamic_slab_enabled
    - DeallocateSlowNoHooks
    - TC_BUG
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - transfer_cache
    - get_shift_capacity
    - RecordCacheMissStat
    - subtract_at_least
    - madvise_failed_bytes::load
    - Unallocated
    - CacheCpuSlab
    - absl::FixedArray::begin
    - absl::bit_ceil
    - TargetOverflowRefillCount
    - GetIntervalMisses
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - TC_ASSERT_LT
    - TC_CHECK_LE
    - AllocationGuard::AllocationGuard
    - FetchFromBackingCache
    - UncacheCpuSlab
    - ResizeCpuSizeClasses
    - std::min<size_t>
    - sharded_transfer_cache
    - reuse_size_classes
    - size_class_configuration
    - cold_size_classes
    - available::store
    - UseBackingShardedTransferCache
    - safe_div
    - GrowOtherCache
    - std::partial_sort
    - absl::base_internal::CycleClock::Now
    - std::forward<Args>
    - BypassCpuCache
    - PartitionShift
    - std::min
    - last_reclaim::load
    - available::fetch_add
    - ArenaUpdateAllocatedAndNonresident
    - multiple_non_numa_partitions
    - TC_CHECK_GE
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - CreateSubRegion
    - GetShift
    - Pop
    - CacheLimit
    - absl::c_binary_search
    - Update
    - AllocReportedImpending
    - num_reclaims::store
    - HaveHooks
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_grow_threshold
    - absl::Span<void*>
    - ColdFeatureActive
    - CpuSet::Count
    - GetUpdatedMaxCapacities
    - UseGenericShardedCache
    - load
    - StealCapacityForSizeClassWithinCpu
    - std::min<uint32_t>
    - last_reclaim::store
    - std::sort
    - TC_ASSERT
    - CpuSet::IsSet
    - num_reclaims::load
    - tcmalloc_internal::subtle::percpu::IsFast
    - DeallocateFast
    - PbtxtRegion::PrintDouble
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    - UpdateMaxCapacity
    - ShiftOffset
    - num_objects_to_move
    - ResizeSlabs
    - IsExpandedSizeClass
    - IsInited
    - std::tie
    - madvise_failed_bytes::fetch_add
    - class_to_size
    - TC_ASSERT_NE
    - available::exchange
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    - store
    - Populate
    - absl::MakeSpan
    - absl::ToInt64Nanoseconds
    - AllocateSlowNoHooks
    - forwarder_::num_objects_to_move
    - GetSizeClassCapacityStats
    - MaybeForceSlowPath
    - lock::unlock
    - UpdateIntervalCacheMissStats
    - GetNumResizes
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_shrink_threshold
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetNumReclaims
    - CpuSet::GetAffinity
    - absl::ToInt64Microseconds
    - reclaim_used_bytes::store
    - GetSlabsAllocSize
    - page_allocator
    - ABSL_PREDICT_TRUE
    - Reclaim
    - absl::InfiniteDuration
    - GetTotalMisses
    - UseShardedCacheForLargeClassesOnly
    - TC_ASSERT_LE
    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:
    - ' state'
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::StaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StaticForwarder(State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - IsInited
    - arena
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - static_cast<int64_t>
    - IsInited
    - arena
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:121,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: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    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:127,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - IsInited
    - Length
    - page_allocator
    - arena
    - 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:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    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) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    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) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    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: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.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: '& 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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:184,1
    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::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.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_internal::cpu_cache_internal::StaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shift
    - initial_shift
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    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:221,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:224,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:225,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - std::max
    - 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: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    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:
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void CpuCache(Args&&... u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    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: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    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:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    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:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - miss_count
    argTypes:
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    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: 614
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 614
    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:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    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:770,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_GT
    - Pop
    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:776,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    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>::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    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:784,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    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:790,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - UncacheCpuSlab
    - HaveHooks
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MaybeForceSlowPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:797,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:798,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:802,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:811,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:812,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 817
    functionName: tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::Count
    - CpuSet::GetAffinity
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    - CpuSet::Zero
    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:827,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:860,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:864,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:868,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:889,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:890,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:892,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 904
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - IsExpandedSizeClass
    - cold_size_classes
    - absl::c_binary_search
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - reuse_size_classes
    - 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:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - get_shift_capacity
    argTypes:
    - GetShiftMaxCapacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 922
    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:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - shift
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 928
    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:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 934
    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: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    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:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - cap
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    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:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 951
    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: 956
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 956
    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:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    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:966,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:974,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:975,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:981,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:982,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:983,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:984,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:990,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1010,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1011,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1019,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1022,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1025,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1027,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1032,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1035,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1037,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1040,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 1044
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - TC_CHECK_EQ
    - ResizeInfo::ResizeInfo
    - available::store
    - ShiftOffset
    - NumCPUs
    - active_partitions
    - Alloc
    - EstimateSlabBytes
    - Init
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
    - store
    - TC_CHECK_GE
    - reinterpret_cast<ResizeInfo*>
    - capacity::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - per_cpu_caches_dynamic_slab_enabled
    - TC_BUG
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1048,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1050,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1053,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Destroy
    - Dealloc
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - 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:1063,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1064,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1067
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    - 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:1072,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1073,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1078
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    - 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:1082,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1085
    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>::MaybeForceSlowPath
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    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:1089,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1094,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1099,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1105,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1109,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1111
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - absl::MakeSpan
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - TC_ASSERT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    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:1125,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1135,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1147,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1154
    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
    - absl::MakeSpan
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - std::min
    - PushBatch
    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:1161,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1163
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - sharded_transfer_cache
    - UseShardedCacheForLargeClassesOnly
    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:1169,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1169,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1172,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1174
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT
    - UseGenericShardedCache
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    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:1185,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1190,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1206,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1207,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: 1209
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    - std::min<uint32_t>
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    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:1236,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1238,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1242,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1247,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1258,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1264,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cpu
    - size_class
    - overflow
    argTypes:
    - int
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1268
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - store
    - num_objects_to_move
    - RecordMiss
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - absl::base_internal::CycleClock::Now
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - Update
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - TargetOverflowRefillCount
    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:1272,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1278,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1281,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1282,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1287
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - ABSL_PREDICT_FALSE
    - load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    - ABSL_PREDICT_TRUE
    - populated::load
    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:1292,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - populated::store
    - GetShift
    - InitCpu
    - populated::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    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:1301,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1306,1
    - Dst: std::atomic<size_t>*::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1307,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: 1311
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1311
    functionName: tcmalloc_internal::cpu_cache_internal::subtract_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::atomic<size_t>*::compare_exchange_weak
    - std::atomic<size_t>*::load
    - 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:1316,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1319,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1328,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1331,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1333,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1336,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: 1338
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1338
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - subtract_at_least
    - RecordMiss
    - TC_ASSERT_GT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - available::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - TC_ASSERT_LE
    - 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:1342,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1346,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1352,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1364,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1375
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - reclaim_used_bytes::load
    - reclaim_used_bytes::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::TryReclaimingCaches()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1381,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1384,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1389,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1393,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1450,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1465,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1474,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1476,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1499,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: 1505
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1505
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - GetAndUpdateIntervalMisses
    - TC_ASSERT_LT
    - num_objects_to_move
    - load
    - absl::FixedArray::end
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - std::sort
    - std::min<size_t>
    - absl::FixedArray::begin
    - std::min
    - std::max
    - NumCPUs
    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:1519,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1527,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1531,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1532,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - slab_addr
    - slab_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1540
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - madvise
    - munlock
    - madvise_failed_bytes::fetch_add
    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:1545,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1546,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1554,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1569,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1570,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1575,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1579,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1581,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1585,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1593,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1599,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1608,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1610,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1614
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - ShiftOffset
    - NumCPUs
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    - numa_topology
    - std::tie
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    - UpdateMaxCapacities
    - ArenaUpdateAllocatedAndNonresident
    - store
    - lock::lock
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - AllocReportedImpending
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - lock::unlock
    - load
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClassMaxCapacities()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1618,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1621,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1630,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1634,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1638,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1643,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1652
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    - store
    - load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - TC_ASSERT_GE
    - NumCPUs
    - UpdateIntervalMisses
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClasses()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1656,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1691,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1699,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1700,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1703,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1716,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1720,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1726,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1728,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1730,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1738,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1655
    functionDepth: 2
    functionLinenumber: 1655
    functionLinenumberEnd: 1741
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - absl::FixedArray::end
    - available::load
    - std::min<size_t>
    - TC_ASSERT_GE
    - max_capacity
    - num_objects_to_move
    - GrowOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    - num_size_class_resizes::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - available::fetch_add
    - class_to_size
    - available::exchange
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - std::sort
    - absl::FixedArray::begin
    - GetIntervalMisses
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeCpuSizeClasses(int cpu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1749,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1757,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1761,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1783,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1785,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1795,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1801,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1809
    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>::StealFromOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - std::partial_sort
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::FixedArray::begin
    - std::min
    - static_cast<size_t>
    - NumCPUs
    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:1818,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1820,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1847,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1848,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1869,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1881,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1883,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1897,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1898,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,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: 1917
      start: 1812
    functionDepth: 1
    functionLinenumber: 1812
    functionLinenumberEnd: 1917
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - subtract_at_least
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - capacity::fetch_sub
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - capacity::fetch_add
    - TC_ASSERT_LE
    - available::fetch_add
    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:1921,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1921,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1929,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1930,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1931,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1964,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1969,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1972,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1978
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - lock::IsHeld
    - num_objects_to_move
    - Tick
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - Length
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - class_to_size
    - TC_ASSERT
    - TC_ASSERT_EQ
    - NumCPUs
    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:2003,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: 2012
      start: 1981
    functionDepth: 3
    functionLinenumber: 1981
    functionLinenumberEnd: 2012
    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:2016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2015
    functionDepth: 2
    functionLinenumber: 2015
    functionLinenumberEnd: 2018
    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:2022,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2023,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2025,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2027,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2031,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2036,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2044,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2021
    functionDepth: 3
    functionLinenumber: 2021
    functionLinenumberEnd: 2053
    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
    - PopBatch
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - std::min
    - 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:2057,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2064,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2068
    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
    - TC_ASSERT_GE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    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:2072,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2079,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2083
    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
    - Length
    - class_to_size
    - TC_ASSERT_GE
    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:2087,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    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:2093,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2092
    functionDepth: 1
    functionLinenumber: 2092
    functionLinenumberEnd: 2096
    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:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2101
    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:2106,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2104
    functionDepth: 2
    functionLinenumber: 2104
    functionLinenumberEnd: 2110
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - NumCPUs
    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:2115,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2118,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2113
    functionDepth: 2
    functionLinenumber: 2113
    functionLinenumberEnd: 2126
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - TC_ASSERT_LT
    - Length
    - NumCPUs
    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:2130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2131
    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:2135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2136
    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:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2141
    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:2146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2147
    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:2153,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2159,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2162,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,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: 2165
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2165
    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:
    - ReleaseToBackingCache
    - forwarder_::num_objects_to_move
    - forwarder_::class_to_size
    - std::min
    - available::fetch_add
    - absl::Span<void*>
    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:2178,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2183,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2186,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2187,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2172
    functionDepth: 2
    functionLinenumber: 2172
    functionLinenumberEnd: 2193
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - num_reclaims::load
    - absl::base_internal::CycleClock::Now
    - last_reclaim::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - num_reclaims::store
    - Drain
    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:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2197
    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:2202,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2207
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - num_size_class_resizes::load
    - NumCPUs
    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:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2212
    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:2217,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2221
    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:2228,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2229,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2231,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2240,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2242,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2244,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: 2247
      start: 2224
    functionDepth: 1
    functionLinenumber: 2224
    functionLinenumberEnd: 2247
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - alloc
    - GetSlabsAllocSize
    - madvise
    - ANNOTATE_MEMORY_IS_INITIALIZED
    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:2252,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2255,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2258,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2266,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2285,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2250
    functionDepth: 2
    functionLinenumber: 2250
    functionLinenumberEnd: 2294
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - per_cpu_caches_dynamic_slab_grow_threshold
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    - NumCPUs
    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:2298,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2301,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2307,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2313,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2321,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2324,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2333,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2342,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2348,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2350,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2297
    functionDepth: 3
    functionLinenumber: 2297
    functionLinenumberEnd: 2354
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - lock::lock
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - load
    - ResizeSlabs
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - lock::unlock
    - fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    - AllocReportedImpending
    - std::tie
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ShiftOffset
    - NumCPUs
    - ArenaUpdateAllocatedAndNonresident
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSlabIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - is_alloc
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2363
    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:2369,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2374
    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:2380,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2377
    functionDepth: 1
    functionLinenumber: 2377
    functionLinenumberEnd: 2383
    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:2389,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2390,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2395,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2401
    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:2406,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2412,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2404
    functionDepth: 1
    functionLinenumber: 2404
    functionLinenumberEnd: 2416
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    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:2424,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2419
    functionDepth: 2
    functionLinenumber: 2419
    functionLinenumberEnd: 2427
    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>::UpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    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:2433,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: 2435
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2435
    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:2446,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2447,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2451,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2460,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2466,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2469,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2470,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2471,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2488,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2490,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2518
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - GetIntervalMisses
    - std::min
    - std::max
    - last_reclaim::load
    - NumCPUs
    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:2522,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2523,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2524,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2525,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2533,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2534,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2536,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2537,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2546,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2548,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2551,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2559,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2563,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2565,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2569,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2574,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2575,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2578,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2587,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      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: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2597,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2605,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2606,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2521
    functionDepth: 3
    functionLinenumber: 2521
    functionLinenumberEnd: 2611
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - print_miss_stats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - NumCPUs
    - safe_div
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - class_to_size
    - FillActiveCpuMask
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - load
    - madvise_failed_bytes::load
    - absl::ToInt64Microseconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - printf
    - CpuSet::IsSet
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2618,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2632,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2635,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2636,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2637,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2646,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2656,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2657,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2658,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2660,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2669,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2614
    functionDepth: 3
    functionLinenumber: 2614
    functionLinenumberEnd: 2678
    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>::GetNumResizes
    - PbtxtRegion::PrintDouble
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - PbtxtRegion::PrintBool
    - PbtxtRegion::PrintI64
    - class_to_size
    - FillActiveCpuMask
    - CreateSubRegion
    - absl::ToInt64Nanoseconds
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - load
    - madvise_failed_bytes::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - PrintI64
    - CpuSet::IsSet
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PrintInPbtxt(PbtxtRegion& region) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2685,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2681
    functionDepth: 1
    functionLinenumber: 2681
    functionLinenumberEnd: 2689
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - multiple_non_numa_partitions
    - active_partitions
    - absl::bit_ceil
    - numa_topology
    - TC_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CpuCache<Forwarder>::PartitionShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2694
    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:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2709,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - overflow
    - grow
    - successive
    argTypes:
    - bool
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2713
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    - memcpy
    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:2717,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2719,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2721,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2724
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Tick()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2731
    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:2736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2737
    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:2743,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2747,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2749,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2753
    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:2758,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2759,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2762,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2756
    functionDepth: 1
    functionLinenumber: 2756
    functionLinenumberEnd: 2767
    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:2772,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2779
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    - GetTotalMisses
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::StaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StaticForwarder(State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - IsInited
    - arena
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - static_cast<int64_t>
    - IsInited
    - arena
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:121,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: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    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:127,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - IsInited
    - Length
    - page_allocator
    - arena
    - 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:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    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) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    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) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    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: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.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: '& 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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:184,1
    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::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.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_internal::cpu_cache_internal::StaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shift
    - initial_shift
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    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:221,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:224,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:225,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - tcmalloc_internal::max
    - 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: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    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:
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void CpuCache(Args&&... u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    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: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    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:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    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:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - miss_count
    argTypes:
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    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: 614
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 614
    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:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    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:770,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - TC_ASSERT_GT
    - Pop
    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:776,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    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:784,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    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:790,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - ABSL_PREDICT_FALSE
    - UncacheCpuSlab
    - HaveHooks
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MaybeForceSlowPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:797,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:798,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:802,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:811,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:812,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 817
    functionName: tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::Count
    - CpuSet::GetAffinity
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    - CpuSet::Zero
    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:827,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:860,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:864,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:868,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:889,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:890,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:892,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 904
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - ColdFeatureActive
    - IsExpandedSizeClass
    - cold_size_classes
    - absl::c_binary_search
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - reuse_size_classes
    - 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:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - get_shift_capacity
    argTypes:
    - GetShiftMaxCapacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 922
    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:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - shift
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 928
    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:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 934
    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: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    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:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - cap
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    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:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 951
    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: 956
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 956
    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:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    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:966,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:974,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:975,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:981,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:982,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:983,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:984,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:990,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1010,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1011,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1019,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1022,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1025,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1027,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1032,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1035,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1037,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1040,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 1044
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - TC_CHECK_EQ
    - ResizeInfo::ResizeInfo
    - available::store
    - ShiftOffset
    - NumCPUs
    - active_partitions
    - Alloc
    - EstimateSlabBytes
    - Init
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
    - store
    - TC_CHECK_GE
    - reinterpret_cast<ResizeInfo*>
    - capacity::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - per_cpu_caches_dynamic_slab_enabled
    - TC_BUG
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1048,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1050,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1053,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Destroy
    - Dealloc
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - 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:1063,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1064,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1067
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    - 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:1072,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1073,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1078
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    - 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:1082,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1085
    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>::MaybeForceSlowPath
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    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:1089,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1094,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1099,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1105,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1109,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1111
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - absl::MakeSpan
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - TC_ASSERT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    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:1125,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1135,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1147,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1154
    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
    - absl::MakeSpan
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - std::min
    - PushBatch
    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:1161,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1163
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - sharded_transfer_cache
    - UseShardedCacheForLargeClassesOnly
    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:1169,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1169,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1172,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1174
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT
    - UseGenericShardedCache
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    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:1185,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1190,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1206,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1207,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: 1209
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    - std::min<uint32_t>
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    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:1236,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1238,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1242,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1247,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1258,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1264,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cpu
    - size_class
    - overflow
    argTypes:
    - int
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1268
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - store
    - num_objects_to_move
    - RecordMiss
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - absl::base_internal::CycleClock::Now
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - Update
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - TargetOverflowRefillCount
    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:1272,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1278,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1281,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1282,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1287
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - ABSL_PREDICT_FALSE
    - load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    - ABSL_PREDICT_TRUE
    - populated::load
    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:1292,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - populated::store
    - GetShift
    - InitCpu
    - populated::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    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:1301,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1306,1
    - Dst: std::atomic<size_t>*::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1307,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: 1311
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1311
    functionName: tcmalloc_internal::cpu_cache_internal::subtract_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::atomic<size_t>*::compare_exchange_weak
    - std::atomic<size_t>*::load
    - 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:1316,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1319,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1328,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1331,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1333,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1336,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: 1338
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1338
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - subtract_at_least
    - RecordMiss
    - TC_ASSERT_GT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - available::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - TC_ASSERT_LE
    - 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:1342,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1346,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1352,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1364,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1341
    functionDepth: 3
    functionLinenumber: 1341
    functionLinenumberEnd: 1375
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - reclaim_used_bytes::load
    - reclaim_used_bytes::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::TryReclaimingCaches()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1381,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1384,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1389,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1393,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1450,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1465,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1474,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1476,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1499,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: 1505
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1505
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - GetAndUpdateIntervalMisses
    - TC_ASSERT_LT
    - num_objects_to_move
    - load
    - absl::FixedArray::end
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - std::sort
    - std::min<size_t>
    - absl::FixedArray::begin
    - std::min
    - std::max
    - NumCPUs
    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:1519,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1527,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1531,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1532,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - slab_addr
    - slab_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1540
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - madvise
    - munlock
    - madvise_failed_bytes::fetch_add
    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:1545,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1546,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1554,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1569,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1570,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1575,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1579,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1581,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1585,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1593,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1599,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1608,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1610,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1614
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - ShiftOffset
    - NumCPUs
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    - numa_topology
    - std::tie
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    - UpdateMaxCapacities
    - ArenaUpdateAllocatedAndNonresident
    - store
    - lock::lock
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - AllocReportedImpending
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - lock::unlock
    - load
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClassMaxCapacities()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1618,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1621,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1630,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1634,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1638,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1643,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1617
    functionDepth: 3
    functionLinenumber: 1617
    functionLinenumberEnd: 1652
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    - store
    - load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - TC_ASSERT_GE
    - NumCPUs
    - UpdateIntervalMisses
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClasses()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1656,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1691,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1699,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1700,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1703,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1716,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1720,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1726,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1728,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1730,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1738,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1655
    functionDepth: 4
    functionLinenumber: 1655
    functionLinenumberEnd: 1741
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - absl::FixedArray::end
    - available::load
    - std::min<size_t>
    - TC_ASSERT_GE
    - max_capacity
    - num_objects_to_move
    - GrowOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    - num_size_class_resizes::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - available::fetch_add
    - class_to_size
    - available::exchange
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - std::sort
    - absl::FixedArray::begin
    - GetIntervalMisses
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeCpuSizeClasses(int cpu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1749,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1757,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1761,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1783,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1785,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1795,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1801,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1744
    functionDepth: 2
    functionLinenumber: 1744
    functionLinenumberEnd: 1809
    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>::StealFromOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - std::partial_sort
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::FixedArray::begin
    - std::min
    - static_cast<size_t>
    - NumCPUs
    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:1818,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1820,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1847,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1848,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1869,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1881,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1883,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1897,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1898,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,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: 1917
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1917
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - subtract_at_least
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - capacity::fetch_sub
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - capacity::fetch_add
    - TC_ASSERT_LE
    - available::fetch_add
    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:1921,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1921,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1929,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1930,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1931,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1964,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1969,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1972,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1978
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - lock::IsHeld
    - num_objects_to_move
    - Tick
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - Length
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - class_to_size
    - TC_ASSERT
    - TC_ASSERT_EQ
    - NumCPUs
    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:2003,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: 2012
      start: 1981
    functionDepth: 3
    functionLinenumber: 1981
    functionLinenumberEnd: 2012
    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:2016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2015
    functionDepth: 4
    functionLinenumber: 2015
    functionLinenumberEnd: 2018
    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:2022,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2023,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2025,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2027,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2031,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2036,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2044,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2021
    functionDepth: 3
    functionLinenumber: 2021
    functionLinenumberEnd: 2053
    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
    - PopBatch
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - std::min
    - 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:2057,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2064,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2056
    functionDepth: 2
    functionLinenumber: 2056
    functionLinenumberEnd: 2068
    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
    - TC_ASSERT_GE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    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:2072,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2079,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2071
    functionDepth: 2
    functionLinenumber: 2071
    functionLinenumberEnd: 2083
    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
    - Length
    - class_to_size
    - TC_ASSERT_GE
    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:2087,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    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:2093,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2092
    functionDepth: 1
    functionLinenumber: 2092
    functionLinenumberEnd: 2096
    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:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2101
    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:2106,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2104
    functionDepth: 2
    functionLinenumber: 2104
    functionLinenumberEnd: 2110
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - NumCPUs
    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:2115,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2118,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2113
    functionDepth: 2
    functionLinenumber: 2113
    functionLinenumberEnd: 2126
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - TC_ASSERT_LT
    - Length
    - NumCPUs
    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:2130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2131
    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:2135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2136
    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:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2141
    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:2146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2147
    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:2153,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2159,1
    - Dst: tcmalloc_internal::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2162,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,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: 2165
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2165
    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:
    - ReleaseToBackingCache
    - tcmalloc_internal::min
    - forwarder_::num_objects_to_move
    - forwarder_::class_to_size
    - available::fetch_add
    - absl::Span<void*>
    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:2178,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2183,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2186,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2187,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2172
    functionDepth: 2
    functionLinenumber: 2172
    functionLinenumberEnd: 2193
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - num_reclaims::load
    - absl::base_internal::CycleClock::Now
    - last_reclaim::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - num_reclaims::store
    - Drain
    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:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2197
    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:2202,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2207
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - num_size_class_resizes::load
    - NumCPUs
    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:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2212
    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:2217,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2221
    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:2228,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2229,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2231,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2240,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2242,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2244,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: 2247
      start: 2224
    functionDepth: 1
    functionLinenumber: 2224
    functionLinenumberEnd: 2247
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - TC_ASSERT_LT
    - alloc
    - GetSlabsAllocSize
    - madvise
    - ANNOTATE_MEMORY_IS_INITIALIZED
    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:2252,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2255,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2258,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2266,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2285,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2250
    functionDepth: 3
    functionLinenumber: 2250
    functionLinenumberEnd: 2294
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 1
    functionsReached:
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - per_cpu_caches_dynamic_slab_grow_threshold
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    - NumCPUs
    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:2298,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2301,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2307,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2313,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2321,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2324,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2333,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2342,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2348,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2350,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2297
    functionDepth: 3
    functionLinenumber: 2297
    functionLinenumberEnd: 2354
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - lock::lock
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - load
    - ResizeSlabs
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - lock::unlock
    - fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    - AllocReportedImpending
    - std::tie
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ShiftOffset
    - NumCPUs
    - ArenaUpdateAllocatedAndNonresident
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSlabIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - is_alloc
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2363
    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:2369,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2374
    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:2380,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2377
    functionDepth: 1
    functionLinenumber: 2377
    functionLinenumberEnd: 2383
    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:2389,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2390,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2395,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2401
    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:2406,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2412,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2404
    functionDepth: 1
    functionLinenumber: 2404
    functionLinenumberEnd: 2416
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    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:2424,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2419
    functionDepth: 2
    functionLinenumber: 2419
    functionLinenumberEnd: 2427
    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>::UpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    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:2433,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: 2435
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2435
    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:2446,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2447,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2451,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2460,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2466,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2469,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2470,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2471,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2488,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2490,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2518
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - GetIntervalMisses
    - std::min
    - std::max
    - last_reclaim::load
    - NumCPUs
    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:2522,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2523,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2524,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2525,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2533,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2534,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2536,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2537,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2546,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2548,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2551,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2559,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2563,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2565,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2569,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2574,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2575,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2578,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2587,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      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: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2597,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2605,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2606,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2521
    functionDepth: 3
    functionLinenumber: 2521
    functionLinenumberEnd: 2611
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - print_miss_stats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - NumCPUs
    - safe_div
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - class_to_size
    - FillActiveCpuMask
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - load
    - madvise_failed_bytes::load
    - absl::ToInt64Microseconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - printf
    - CpuSet::IsSet
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2618,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2632,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2635,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2636,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2637,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2646,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2656,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2657,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2658,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2660,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2669,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2614
    functionDepth: 3
    functionLinenumber: 2614
    functionLinenumberEnd: 2678
    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>::GetNumResizes
    - PbtxtRegion::PrintDouble
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - PbtxtRegion::PrintBool
    - PbtxtRegion::PrintI64
    - class_to_size
    - FillActiveCpuMask
    - CreateSubRegion
    - absl::ToInt64Nanoseconds
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - load
    - madvise_failed_bytes::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - PrintI64
    - CpuSet::IsSet
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PrintInPbtxt(PbtxtRegion& region) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2685,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2681
    functionDepth: 1
    functionLinenumber: 2681
    functionLinenumberEnd: 2689
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - multiple_non_numa_partitions
    - active_partitions
    - absl::bit_ceil
    - numa_topology
    - TC_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CpuCache<Forwarder>::PartitionShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2694
    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:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2709,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - overflow
    - grow
    - successive
    argTypes:
    - bool
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2713
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    - memcpy
    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:2717,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2719,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2721,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2724
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Tick()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2731
    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:2736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2737
    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:2743,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2747,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2749,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2753
    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:2758,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2759,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2762,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2756
    functionDepth: 1
    functionLinenumber: 2756
    functionLinenumberEnd: 2767
    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:2772,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2779
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    - GetTotalMisses
    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:2795,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2795,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2799,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2799,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2814,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2814,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2792
    functionDepth: 1
    functionLinenumber: 2792
    functionLinenumberEnd: 2820
    functionName: tcmalloc_internal::UsePerCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
    - CpuCacheActive
    linkageType: ''
    returnType: bool
    signature: bool UsePerCpuCache(State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::StaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StaticForwarder(State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - IsInited
    - arena
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - static_cast<int64_t>
    - IsInited
    - arena
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:121,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: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    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:127,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - IsInited
    - Length
    - page_allocator
    - arena
    - 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:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    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) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    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) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    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: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.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: '& 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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:184,1
    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::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.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_internal::cpu_cache_internal::StaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shift
    - initial_shift
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    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:221,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:224,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:225,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - std::max
    - 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: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    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:
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void CpuCache(Args&&... u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    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: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    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:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    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:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - miss_count
    argTypes:
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    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: 614
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 614
    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:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    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:770,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - TC_ASSERT_GT
    - Pop
    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:776,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    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:784,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    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:790,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - ABSL_PREDICT_FALSE
    - UncacheCpuSlab
    - HaveHooks
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MaybeForceSlowPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:797,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:798,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:802,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:811,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:812,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 817
    functionName: tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::Count
    - CpuSet::GetAffinity
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    - CpuSet::Zero
    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:827,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:860,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:864,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:868,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:889,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:890,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:892,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 904
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - ColdFeatureActive
    - IsExpandedSizeClass
    - cold_size_classes
    - absl::c_binary_search
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - reuse_size_classes
    - 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:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - get_shift_capacity
    argTypes:
    - GetShiftMaxCapacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 922
    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:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - shift
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 928
    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:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 934
    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: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    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:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - cap
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    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:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 951
    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: 956
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 956
    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:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    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:966,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:974,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:975,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:981,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:982,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:983,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:984,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:990,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1010,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1011,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1019,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1022,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1025,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1027,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1032,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1035,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1037,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1040,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 1044
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - TC_CHECK_EQ
    - ResizeInfo::ResizeInfo
    - available::store
    - ShiftOffset
    - NumCPUs
    - active_partitions
    - Alloc
    - EstimateSlabBytes
    - Init
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
    - store
    - TC_CHECK_GE
    - reinterpret_cast<ResizeInfo*>
    - capacity::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - per_cpu_caches_dynamic_slab_enabled
    - TC_BUG
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1048,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1050,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1053,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Destroy
    - Dealloc
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - 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:1063,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1064,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1067
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    - 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:1072,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1073,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1078
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    - 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:1082,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1085
    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>::MaybeForceSlowPath
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    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:1089,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1094,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1099,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1105,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1109,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1111
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - absl::MakeSpan
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - TC_ASSERT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    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:1125,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1135,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1147,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1154
    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
    - absl::MakeSpan
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - std::min
    - PushBatch
    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:1161,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1163
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - sharded_transfer_cache
    - UseShardedCacheForLargeClassesOnly
    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:1169,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1169,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1172,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1174
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - TC_ASSERT
    - UseGenericShardedCache
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    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:1185,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1190,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1206,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1207,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: 1209
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    - std::min<uint32_t>
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    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:1236,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1238,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1242,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1247,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1258,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1264,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cpu
    - size_class
    - overflow
    argTypes:
    - int
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1268
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - store
    - num_objects_to_move
    - RecordMiss
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - absl::base_internal::CycleClock::Now
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - Update
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - TargetOverflowRefillCount
    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:1272,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1278,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1281,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1282,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1287
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - ABSL_PREDICT_FALSE
    - load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    - ABSL_PREDICT_TRUE
    - populated::load
    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:1292,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - populated::store
    - GetShift
    - InitCpu
    - populated::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    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:1301,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1306,1
    - Dst: std::atomic<size_t>*::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1307,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: 1311
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1311
    functionName: tcmalloc_internal::cpu_cache_internal::subtract_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::atomic<size_t>*::compare_exchange_weak
    - std::atomic<size_t>*::load
    - 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:1316,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1319,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1328,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1331,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1333,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1336,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: 1338
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1338
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - subtract_at_least
    - RecordMiss
    - TC_ASSERT_GT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - available::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - TC_ASSERT_LE
    - 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:1342,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1346,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1352,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1364,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1341
    functionDepth: 3
    functionLinenumber: 1341
    functionLinenumberEnd: 1375
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - reclaim_used_bytes::load
    - reclaim_used_bytes::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::TryReclaimingCaches()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1381,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1384,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1389,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1393,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1450,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1465,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1474,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1476,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1499,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: 1505
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1505
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - GetAndUpdateIntervalMisses
    - TC_ASSERT_LT
    - num_objects_to_move
    - load
    - absl::FixedArray::end
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - std::sort
    - std::min<size_t>
    - absl::FixedArray::begin
    - std::min
    - std::max
    - NumCPUs
    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:1519,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1527,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1531,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1532,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - slab_addr
    - slab_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1540
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - madvise
    - munlock
    - madvise_failed_bytes::fetch_add
    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:1545,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1546,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1554,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1569,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1570,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1575,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1579,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1581,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1585,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1593,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1599,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1608,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1610,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1614
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - ShiftOffset
    - NumCPUs
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    - numa_topology
    - std::tie
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    - UpdateMaxCapacities
    - ArenaUpdateAllocatedAndNonresident
    - store
    - lock::lock
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - AllocReportedImpending
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - lock::unlock
    - load
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClassMaxCapacities()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1618,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1621,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1630,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1634,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1638,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1643,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1617
    functionDepth: 3
    functionLinenumber: 1617
    functionLinenumberEnd: 1652
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    - store
    - load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - TC_ASSERT_GE
    - NumCPUs
    - UpdateIntervalMisses
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClasses()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1656,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1691,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1699,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1700,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1703,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1716,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1720,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1726,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1728,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1730,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1738,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1655
    functionDepth: 4
    functionLinenumber: 1655
    functionLinenumberEnd: 1741
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - TC_ASSERT_LT
    - absl::FixedArray::end
    - available::load
    - std::min<size_t>
    - TC_ASSERT_GE
    - max_capacity
    - num_objects_to_move
    - GrowOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    - num_size_class_resizes::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - available::fetch_add
    - class_to_size
    - available::exchange
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - std::sort
    - absl::FixedArray::begin
    - GetIntervalMisses
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeCpuSizeClasses(int cpu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1749,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1757,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1761,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1783,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1785,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1795,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1801,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1744
    functionDepth: 2
    functionLinenumber: 1744
    functionLinenumberEnd: 1809
    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>::StealFromOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - std::partial_sort
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::FixedArray::begin
    - std::min
    - static_cast<size_t>
    - NumCPUs
    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:1818,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1820,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1847,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1848,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1869,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1881,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1883,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1897,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1898,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,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: 1917
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1917
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - subtract_at_least
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - capacity::fetch_sub
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - capacity::fetch_add
    - TC_ASSERT_LE
    - available::fetch_add
    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:1921,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1921,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1929,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1930,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1931,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1964,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1969,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1972,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1978
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - lock::IsHeld
    - num_objects_to_move
    - Tick
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - Length
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - class_to_size
    - TC_ASSERT
    - TC_ASSERT_EQ
    - NumCPUs
    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:2003,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: 2012
      start: 1981
    functionDepth: 3
    functionLinenumber: 1981
    functionLinenumberEnd: 2012
    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:2016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2015
    functionDepth: 4
    functionLinenumber: 2015
    functionLinenumberEnd: 2018
    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:2022,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2023,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2025,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2027,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2031,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2036,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2044,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2021
    functionDepth: 3
    functionLinenumber: 2021
    functionLinenumberEnd: 2053
    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
    - PopBatch
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - std::min
    - 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:2057,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2064,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2056
    functionDepth: 2
    functionLinenumber: 2056
    functionLinenumberEnd: 2068
    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
    - TC_ASSERT_GE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    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:2072,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2079,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2071
    functionDepth: 2
    functionLinenumber: 2071
    functionLinenumberEnd: 2083
    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
    - Length
    - class_to_size
    - TC_ASSERT_GE
    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:2087,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    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:2093,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2092
    functionDepth: 1
    functionLinenumber: 2092
    functionLinenumberEnd: 2096
    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:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2101
    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:2106,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2104
    functionDepth: 2
    functionLinenumber: 2104
    functionLinenumberEnd: 2110
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - NumCPUs
    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:2115,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2118,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2113
    functionDepth: 2
    functionLinenumber: 2113
    functionLinenumberEnd: 2126
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - TC_ASSERT_LT
    - Length
    - NumCPUs
    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:2130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2131
    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:2135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2136
    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:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2141
    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:2146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2147
    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:2153,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2159,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2162,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,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: 2165
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2165
    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:
    - ReleaseToBackingCache
    - forwarder_::num_objects_to_move
    - forwarder_::class_to_size
    - std::min
    - available::fetch_add
    - absl::Span<void*>
    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:2178,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2183,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2186,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2187,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2172
    functionDepth: 2
    functionLinenumber: 2172
    functionLinenumberEnd: 2193
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - num_reclaims::load
    - absl::base_internal::CycleClock::Now
    - last_reclaim::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - num_reclaims::store
    - Drain
    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:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2197
    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:2202,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2207
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - num_size_class_resizes::load
    - NumCPUs
    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:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2212
    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:2217,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2221
    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:2228,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2229,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2231,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2240,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2242,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2244,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: 2247
      start: 2224
    functionDepth: 1
    functionLinenumber: 2224
    functionLinenumberEnd: 2247
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - TC_ASSERT_LT
    - alloc
    - GetSlabsAllocSize
    - madvise
    - ANNOTATE_MEMORY_IS_INITIALIZED
    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:2252,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2255,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2258,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2266,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2285,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2250
    functionDepth: 3
    functionLinenumber: 2250
    functionLinenumberEnd: 2294
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 2
    functionsReached:
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - per_cpu_caches_dynamic_slab_grow_threshold
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    - NumCPUs
    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:2298,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2301,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2307,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2313,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2321,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2324,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2333,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2342,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2348,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2350,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2297
    functionDepth: 3
    functionLinenumber: 2297
    functionLinenumberEnd: 2354
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - lock::lock
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - load
    - ResizeSlabs
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - lock::unlock
    - fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    - AllocReportedImpending
    - std::tie
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ShiftOffset
    - NumCPUs
    - ArenaUpdateAllocatedAndNonresident
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSlabIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - is_alloc
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2363
    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:2369,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2374
    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:2380,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2377
    functionDepth: 1
    functionLinenumber: 2377
    functionLinenumberEnd: 2383
    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:2389,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2390,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2395,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2401
    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:2406,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2412,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2404
    functionDepth: 1
    functionLinenumber: 2404
    functionLinenumberEnd: 2416
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 5
    functionsReached:
    - store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    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:2424,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2419
    functionDepth: 2
    functionLinenumber: 2419
    functionLinenumberEnd: 2427
    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>::UpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    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:2433,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: 2435
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2435
    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:2446,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2447,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2451,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2460,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2466,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2469,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2470,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2471,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2488,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2490,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2518
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - GetIntervalMisses
    - std::min
    - std::max
    - last_reclaim::load
    - NumCPUs
    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:2522,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2523,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2524,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2525,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2533,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2534,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2536,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2537,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2546,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2548,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2551,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2559,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2563,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2565,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2569,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2574,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2575,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2578,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2587,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      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: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2597,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2605,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2606,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2521
    functionDepth: 3
    functionLinenumber: 2521
    functionLinenumberEnd: 2611
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - print_miss_stats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - NumCPUs
    - safe_div
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - class_to_size
    - FillActiveCpuMask
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - load
    - madvise_failed_bytes::load
    - absl::ToInt64Microseconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - printf
    - CpuSet::IsSet
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2618,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2632,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2635,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2636,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2637,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2646,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2656,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2657,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2658,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2660,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2669,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2614
    functionDepth: 3
    functionLinenumber: 2614
    functionLinenumberEnd: 2678
    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>::GetNumResizes
    - PbtxtRegion::PrintDouble
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - PbtxtRegion::PrintBool
    - PbtxtRegion::PrintI64
    - class_to_size
    - FillActiveCpuMask
    - CreateSubRegion
    - absl::ToInt64Nanoseconds
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - load
    - madvise_failed_bytes::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - PrintI64
    - CpuSet::IsSet
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PrintInPbtxt(PbtxtRegion& region) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2685,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2681
    functionDepth: 1
    functionLinenumber: 2681
    functionLinenumberEnd: 2689
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - multiple_non_numa_partitions
    - active_partitions
    - absl::bit_ceil
    - numa_topology
    - TC_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CpuCache<Forwarder>::PartitionShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2694
    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:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2709,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - overflow
    - grow
    - successive
    argTypes:
    - bool
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2713
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    - memcpy
    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:2717,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2719,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2721,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2724
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Tick()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2731
    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:2736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2737
    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:2743,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2747,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2749,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2753
    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:2758,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2759,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2762,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2756
    functionDepth: 1
    functionLinenumber: 2756
    functionLinenumberEnd: 2767
    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:2772,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2779
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    - GetTotalMisses
    linkageType: ''
    returnType: void
    signature: "void CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::StaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StaticForwarder(State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:101,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - IsInited
    - arena
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:110,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:115,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - static_cast<int64_t>
    - IsInited
    - arena
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:121,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: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    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:127,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:127,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:132,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - IsInited
    - Length
    - page_allocator
    - arena
    - 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:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    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) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    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) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '& numa_topology() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - numa_topology
    linkageType: ''
    returnType: NumaTopology<kNumaPartitions, kNumBaseClasses>
    signature: NumaTopology<kNumaPartitions, kNumBaseClasses> & numa_topology() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    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: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '& sharded_transfer_cache() const'
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: ShardedTransferCacheManager
    signature: ShardedTransferCacheManager & sharded_transfer_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.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: '& 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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:184,1
    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::cpu_cache_internal::StaticForwarder::UseShardedCacheForLargeClassesOnly
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - sharded_transfer_cache
    linkageType: ''
    returnType: bool
    signature: bool UseShardedCacheForLargeClassesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::UseWiderSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
    linkageType: ''
    returnType: bool
    signature: bool UseWiderSlabs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.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_internal::cpu_cache_internal::StaticForwarder::active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::active_partitions
    linkageType: ''
    returnType: auto
    signature: auto active_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shift
    - initial_shift
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    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:221,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:224,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:225,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: operator()(size_t size_class) const
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - std::max
    - 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: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    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:
    - Dst: std::forward<Args>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache::CpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void CpuCache(Args&&... u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    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: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    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:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    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:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - miss_count
    argTypes:
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    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: 614
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 614
    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:760,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    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:770,1
    - Dst: Pop
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached:
    - TC_ASSERT_GT
    - Pop
    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:776,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    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:784,1
    - Dst: Push
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    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:790,1
    - Dst: HaveHooks
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:790,1
    - Dst: UncacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - ABSL_PREDICT_FALSE
    - UncacheCpuSlab
    - HaveHooks
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::MaybeForceSlowPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:797,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:798,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingVirtualCpus
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:802,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:811,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:812,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 817
    functionName: tcmalloc_internal::cpu_cache_internal::FillActiveCpuMask
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::Count
    - CpuSet::GetAffinity
    - tcmalloc_internal::subtle::percpu::UsingVirtualCpus
    - CpuSet::Zero
    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:827,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:860,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:864,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:868,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:876,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:883,1
    - Dst: reuse_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:886,1
    - Dst: cold_size_classes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:889,1
    - Dst: absl::c_binary_search
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:890,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:892,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 904
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - ColdFeatureActive
    - IsExpandedSizeClass
    - cold_size_classes
    - absl::c_binary_search
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - reuse_size_classes
    - 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:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - get_shift_capacity
    argTypes:
    - GetShiftMaxCapacity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 922
    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:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - shift
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 928
    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:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 934
    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: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    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:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size_class
    - cap
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    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:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 951
    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: 956
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 956
    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:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    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:966,1
    - Dst: per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:970,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:974,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:975,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:981,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:982,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:983,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:984,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:990,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:992,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:999,1
    - Dst: EstimateSlabBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1007,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1010,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1011,1
    - Dst: reinterpret_cast<ResizeInfo*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1019,1
    - Dst: ResizeInfo::ResizeInfo
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1022,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1025,1
    - Dst: available::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1027,1
    - Dst: capacity::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1028,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1032,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1035,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1036,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1037,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1040,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 1044
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Activate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - TC_CHECK_EQ
    - ResizeInfo::ResizeInfo
    - available::store
    - ShiftOffset
    - NumCPUs
    - active_partitions
    - Alloc
    - EstimateSlabBytes
    - Init
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
    - store
    - TC_CHECK_GE
    - reinterpret_cast<ResizeInfo*>
    - capacity::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - per_cpu_caches_dynamic_slab_enabled
    - TC_BUG
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaxCapacity
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1048,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1050,1
    - Dst: Destroy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1053,1
    - Dst: Dealloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1058
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Deactivate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - Destroy
    - Dealloc
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - 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:1063,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1064,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1067
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    - 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:1072,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1073,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size_class
    - batch
    argTypes:
    - size_t
    - absl::Span<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1078
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 9
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    - sharded_transfer_cache
    - 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:1082,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1085
    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>::MaybeForceSlowPath
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    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:1089,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1090,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1092,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1093,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1094,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1097,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1099,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1105,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1109,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1111
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateSlowNoHooks
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - absl::MakeSpan
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Refill
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - TC_ASSERT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocateFast
    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:1125,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1135,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1136,1
    - Dst: PushBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1147,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1154
    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
    - absl::MakeSpan
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::FetchFromBackingCache
    - std::min
    - PushBatch
    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:1161,1
    - Dst: UseShardedCacheForLargeClassesOnly
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1163
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - sharded_transfer_cache
    - UseShardedCacheForLargeClassesOnly
    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:1169,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1169,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1172,1
    - Dst: UseGenericShardedCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1174
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseBackingShardedTransferCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - TC_ASSERT
    - UseGenericShardedCache
    - sharded_transfer_cache
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    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:1185,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1190,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1206,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1207,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: 1209
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1209
    functionName: tcmalloc_internal::cpu_cache_internal::TargetOverflowRefillCount
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::min
    - std::min<uint32_t>
    - TC_ASSERT_LE
    - TC_ASSERT_NE
    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:1236,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1237,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1238,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1242,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1244,1
    - Dst: Update
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1247,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1251,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1257,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1258,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1264,1
    - Dst: TargetOverflowRefillCount
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - cpu
    - size_class
    - overflow
    argTypes:
    - int
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1268
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached:
    - store
    - num_objects_to_move
    - RecordMiss
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - absl::base_internal::CycleClock::Now
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - Update
    - std::min
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - TargetOverflowRefillCount
    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:1272,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1273,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1274,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1275,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1276,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1278,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1281,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1282,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1287
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - ABSL_PREDICT_FALSE
    - load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    - ABSL_PREDICT_TRUE
    - populated::load
    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:1292,1
    - Dst: InitCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1295,1
    - Dst: populated::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - populated::store
    - GetShift
    - InitCpu
    - populated::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    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:1301,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1306,1
    - Dst: std::atomic<size_t>*::compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1307,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: 1311
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1311
    functionName: tcmalloc_internal::cpu_cache_internal::subtract_at_least
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - std::atomic<size_t>*::compare_exchange_weak
    - std::atomic<size_t>*::load
    - 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:1316,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1319,1
    - Dst: RecordMiss
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1321,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1328,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1329,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1331,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1333,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1336,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: 1338
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1338
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - subtract_at_least
    - RecordMiss
    - TC_ASSERT_GT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - available::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Grow
    - TC_ASSERT_LE
    - 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:1342,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1346,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1350,1
    - Dst: reclaim_used_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1352,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1357,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1364,1
    - Dst: reclaim_used_bytes::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1341
    functionDepth: 3
    functionLinenumber: 1341
    functionLinenumberEnd: 1375
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TryReclaimingCaches
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - reclaim_used_bytes::load
    - reclaim_used_bytes::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::TryReclaimingCaches()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1381,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1384,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1389,1
    - Dst: GetAndUpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1393,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1412,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1450,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1465,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1467,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1474,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1476,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1492,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1499,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: 1505
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1505
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - GetAndUpdateIntervalMisses
    - TC_ASSERT_LT
    - num_objects_to_move
    - load
    - absl::FixedArray::end
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - std::sort
    - std::min<size_t>
    - absl::FixedArray::begin
    - std::min
    - std::max
    - NumCPUs
    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:1519,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1520,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1527,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1531,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1532,1
    - Dst: madvise_failed_bytes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - slab_addr
    - slab_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1540
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - madvise
    - munlock
    - madvise_failed_bytes::fetch_add
    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:1545,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1546,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1554,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1555,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1562,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1569,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1570,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1572,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1575,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1579,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1581,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1585,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1589,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1591,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1593,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1596,1
    - Dst: UpdateMaxCapacities
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1599,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1603,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1605,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1608,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1610,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1614
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClassMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - ShiftOffset
    - NumCPUs
    - active_partitions
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetUpdatedMaxCapacities
    - numa_topology
    - std::tie
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateMaxCapacity
    - UpdateMaxCapacities
    - ArenaUpdateAllocatedAndNonresident
    - store
    - lock::lock
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - AllocReportedImpending
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - lock::unlock
    - load
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClassMaxCapacities()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1618,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1621,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1630,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1631,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1634,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1638,1
    - Dst: UpdateIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1643,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1617
    functionDepth: 3
    functionLinenumber: 1617
    functionLinenumberEnd: 1652
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    - store
    - load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - TC_ASSERT_GE
    - NumCPUs
    - UpdateIntervalMisses
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSizeClasses()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1656,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1667,1
    - Dst: std::sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: absl::FixedArray::end
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1674,1
    - Dst: available::exchange
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1684,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1689,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1691,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1699,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1700,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1703,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1716,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1720,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1721,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1725,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1726,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1728,1
    - Dst: GrowOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1730,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1732,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1738,1
    - Dst: num_size_class_resizes::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1655
    functionDepth: 4
    functionLinenumber: 1655
    functionLinenumberEnd: 1741
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeCpuSizeClasses
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT_LT
    - absl::FixedArray::end
    - available::load
    - std::min<size_t>
    - TC_ASSERT_GE
    - max_capacity
    - num_objects_to_move
    - GrowOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealCapacityForSizeClassWithinCpu
    - num_size_class_resizes::fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacityFunctor
    - available::fetch_add
    - class_to_size
    - available::exchange
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - std::sort
    - absl::FixedArray::begin
    - GetIntervalMisses
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeCpuSizeClasses(int cpu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1749,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1757,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1761,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1783,1
    - Dst: std::partial_sort
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1784,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1785,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1795,1
    - Dst: absl::FixedArray::begin
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1800,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1801,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1744
    functionDepth: 2
    functionLinenumber: 1744
    functionLinenumberEnd: 1809
    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>::StealFromOtherCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - std::partial_sort
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - absl::FixedArray::begin
    - std::min
    - static_cast<size_t>
    - NumCPUs
    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:1818,1
    - Dst: available::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1820,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1847,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1848,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1862,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1866,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1869,1
    - Dst: subtract_at_least
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1881,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1883,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1897,1
    - Dst: capacity::fetch_sub
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1898,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1914,1
    - Dst: capacity::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1915,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: 1917
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1917
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::StealFromOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - subtract_at_least
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - capacity::fetch_sub
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - available::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - capacity::fetch_add
    - TC_ASSERT_LE
    - available::fetch_add
    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:1921,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1921,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1922,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: lock::IsHeld
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1923,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1924,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1929,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1930,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1931,1
    - Dst: Tick
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1964,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1969,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1972,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:1973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1978
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - lock::IsHeld
    - num_objects_to_move
    - Tick
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShrinkOtherCache
    - Length
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - class_to_size
    - TC_ASSERT
    - TC_ASSERT_EQ
    - NumCPUs
    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:2003,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: 2012
      start: 1981
    functionDepth: 3
    functionLinenumber: 1981
    functionLinenumberEnd: 2012
    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:2016,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MaybeForceSlowPath
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2015
    functionDepth: 4
    functionLinenumber: 2015
    functionLinenumberEnd: 2018
    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:2022,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2023,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2025,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2026,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2027,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2029,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2031,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2035,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2036,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2042,1
    - Dst: PopBatch
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2044,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - size_class
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2021
    functionDepth: 3
    functionLinenumber: 2021
    functionLinenumberEnd: 2053
    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
    - PopBatch
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::DeallocateFast
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ReleaseToBackingCache
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheCpuSlab
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::RecordCacheMissStat
    - sharded_transfer_cache
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::BypassCpuCache
    - std::min
    - 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:2057,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2058,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2064,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2056
    functionDepth: 2
    functionLinenumber: 2056
    functionLinenumberEnd: 2068
    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
    - TC_ASSERT_GE
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    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:2072,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2073,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2079,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2071
    functionDepth: 2
    functionLinenumber: 2071
    functionLinenumberEnd: 2083
    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
    - Length
    - class_to_size
    - TC_ASSERT_GE
    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:2087,1
    - Dst: populated::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    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:2093,1
    - Dst: populated_physical_cpu::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2092
    functionDepth: 1
    functionLinenumber: 2092
    functionLinenumberEnd: 2096
    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:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2101
    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:2106,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2104
    functionDepth: 2
    functionLinenumber: 2104
    functionLinenumberEnd: 2110
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalUsedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    - NumCPUs
    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:2115,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2118,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2119,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2113
    functionDepth: 2
    functionLinenumber: 2113
    functionLinenumberEnd: 2126
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::TotalObjectsOfClass
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - TC_ASSERT_LT
    - Length
    - NumCPUs
    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:2130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2131
    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:2135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2136
    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:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2141
    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:2146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2147
    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:2153,1
    - Dst: forwarder_::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2155,1
    - Dst: available::fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2159,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2162,1
    - Dst: ReleaseToBackingCache
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2163,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: 2165
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2165
    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:
    - ReleaseToBackingCache
    - forwarder_::num_objects_to_move
    - forwarder_::class_to_size
    - std::min
    - available::fetch_add
    - absl::Span<void*>
    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:2178,1
    - Dst: Drain
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2183,1
    - Dst: num_reclaims::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2186,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2187,1
    - Dst: last_reclaim::store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2172
    functionDepth: 2
    functionLinenumber: 2172
    functionLinenumberEnd: 2193
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Reclaim
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 8
    functionsReached:
    - num_reclaims::load
    - absl::base_internal::CycleClock::Now
    - last_reclaim::store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - num_reclaims::store
    - Drain
    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:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2197
    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:2202,1
    - Dst: num_size_class_resizes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2207
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - num_size_class_resizes::load
    - NumCPUs
    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:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2212
    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:2217,1
    - Dst: num_reclaims::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2221
    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:2228,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2229,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2231,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2233,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2240,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2242,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2244,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: 2247
      start: 2224
    functionDepth: 1
    functionLinenumber: 2224
    functionLinenumberEnd: 2247
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 11
    functionsReached:
    - TC_ASSERT_LT
    - alloc
    - GetSlabsAllocSize
    - madvise
    - ANNOTATE_MEMORY_IS_INITIALIZED
    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:2252,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2255,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2258,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2266,1
    - Dst: per_cpu_caches_dynamic_slab_grow_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2285,1
    - Dst: per_cpu_caches_dynamic_slab_shrink_threshold
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2250
    functionDepth: 3
    functionLinenumber: 2250
    functionLinenumberEnd: 2294
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 3
    functionsReached:
    - per_cpu_caches_dynamic_slab_shrink_threshold
    - per_cpu_caches_dynamic_slab_grow_threshold
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UseWiderSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetAndUpdateIntervalCacheMissStats
    - NumCPUs
    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:2298,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2300,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2301,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2307,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2306,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2313,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2312,1
    - Dst: tcmalloc_internal::subtle::percpu::ToShiftType
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2319,1
    - Dst: tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2321,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2324,1
    - Dst: lock::lock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2326,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2329,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2333,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2336,1
    - Dst: AllocReportedImpending
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2338,1
    - Dst: ShiftOffset
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2341,1
    - Dst: ResizeSlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2342,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2345,1
    - Dst: lock::unlock
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2348,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2350,1
    - Dst: ArenaUpdateAllocatedAndNonresident
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2297
    functionDepth: 3
    functionLinenumber: 2297
    functionLinenumberEnd: 2354
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ResizeSlabIfNeeded
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - lock::lock
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::subtle::percpu::GetSlabsAllocSize
    - load
    - ResizeSlabs
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::AllocOrReuseSlabs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::MadviseAwaySlabs
    - lock::unlock
    - fetch_add
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::ShouldResizeSlab
    - AllocReportedImpending
    - std::tie
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - ShiftOffset
    - NumCPUs
    - ArenaUpdateAllocatedAndNonresident
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::ResizeSlabIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - is_alloc
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2363
    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:2369,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2374
    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:2380,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2377
    functionDepth: 1
    functionLinenumber: 2377
    functionLinenumberEnd: 2383
    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:2389,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2390,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2393,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2395,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2399,1
    - Dst: get_safe_miss_diff
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2401
    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:2406,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2412,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2404
    functionDepth: 1
    functionLinenumber: 2404
    functionLinenumberEnd: 2416
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 7
    functionsReached:
    - store
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    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:2424,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UpdateIntervalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cpu
    - miss_count
    argTypes:
    - int
    - MissCount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2419
    functionDepth: 2
    functionLinenumber: 2419
    functionLinenumberEnd: 2427
    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>::UpdateIntervalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetIntervalCacheMissStats
    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:2433,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: 2435
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2435
    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:2446,1
    - Dst: tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2447,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2451,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2453,1
    - Dst: last_reclaim::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2460,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2463,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2466,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2469,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2470,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2471,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2488,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2490,1
    - Dst: GetIntervalMisses
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2518
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 6
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - absl::base_internal::CycleClock::Now
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Capacity
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc::tcmalloc_internal::StatsTrackerTest::GetFakeClockFrequency
    - GetIntervalMisses
    - std::min
    - std::max
    - last_reclaim::load
    - NumCPUs
    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:2522,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2523,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2524,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2525,1
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2527,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2528,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2533,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2534,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2535,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2536,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2537,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2546,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2548,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2551,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2552,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2559,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2561,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2563,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2565,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2567,1
    - Dst: absl::ToInt64Microseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2569,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2573,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2574,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2575,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2578,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2587,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2590,1
    - Dst: print_miss_stats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2591,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      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: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2597,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2599,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2603,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2605,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2606,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2608,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2521
    functionDepth: 3
    functionLinenumber: 2521
    functionLinenumberEnd: 2611
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - print_miss_stats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - NumCPUs
    - safe_div
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - class_to_size
    - FillActiveCpuMask
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::CacheLimit
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - load
    - madvise_failed_bytes::load
    - absl::ToInt64Microseconds
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - printf
    - CpuSet::IsSet
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::Print(Printer& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillActiveCpuMask
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2615,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2618,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2619,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2620,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2621,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2622,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2626,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2627,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2628,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumResizes
      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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2632,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: CpuSet::IsSet
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2633,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2634,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2635,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2636,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2637,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2638,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2641,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2645,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2646,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2647,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2648,1
    - Dst: PbtxtRegion::PrintDouble
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2649,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2650,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2651,1
    - Dst: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2652,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2655,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2656,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2657,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2658,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2659,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2660,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2662,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: GetShift
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2666,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2668,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2669,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2670,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2672,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2675,1
    - Dst: madvise_failed_bytes::load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ' region'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2614
    functionDepth: 3
    functionLinenumber: 2614
    functionLinenumberEnd: 2678
    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>::GetNumResizes
    - PbtxtRegion::PrintDouble
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPhysicalPopulated
    - NumCPUs
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetMaxCapacity
    - PbtxtRegion::PrintBool
    - PbtxtRegion::PrintI64
    - class_to_size
    - FillActiveCpuMask
    - CreateSubRegion
    - absl::ToInt64Nanoseconds
    - GetShift
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::HasPopulated
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetTotalCacheMissStats
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::Unallocated
    - load
    - madvise_failed_bytes::load
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetSizeClassCapacityStats
    - PrintI64
    - CpuSet::IsSet
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::GetNumReclaims
    - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::UsedBytes
    linkageType: ''
    returnType: void
    signature: void CpuCache<Forwarder>::PrintInPbtxt(PbtxtRegion& region) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2682,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2683,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2685,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2681
    functionDepth: 1
    functionLinenumber: 2681
    functionLinenumberEnd: 2689
    functionName: tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 4
    functionsReached:
    - multiple_non_numa_partitions
    - active_partitions
    - absl::bit_ceil
    - numa_topology
    - TC_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CpuCache<Forwarder>::PartitionShift() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2694
    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:2699,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2701,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2709,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - overflow
    - grow
    - successive
    argTypes:
    - bool
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2713
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::Update(\n    bool overflow,
      bool grow, uint32_t* successive)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    - memcpy
    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:2717,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2719,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2721,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2724
    functionName: CpuCache<Forwarder>::PerClassResizeInfo::Tick()
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - load
    - store
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CpuCache<Forwarder>::PerClassResizeInfo::Tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2731
    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:2736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2737
    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:2743,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2744,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2747,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2749,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2753
    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:2758,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2759,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2762,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2756
    functionDepth: 1
    functionLinenumber: 2756
    functionLinenumberEnd: 2767
    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:2772,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - total_type
    - interval_type
    argTypes:
    - PerClassMissType
    - PerClassMissType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2779
    functionName: "CpuCache<Forwarder>::PerClassResizeInfo::UpdateIntervalMisses(\n
      \   PerClassMissType total_type, PerClassMissType interval_type)"
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - store
    - GetTotalMisses
    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:2795,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2795,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2799,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2799,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2814,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2814,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/cpu_cache.h:2815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2792
    functionDepth: 1
    functionLinenumber: 2792
    functionLinenumberEnd: 2820
    functionName: tcmalloc_internal::UsePerCpuCache
    functionSourceFile: /src/tcmalloc/tcmalloc/cpu_cache.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
    - CpuCacheActive
    linkageType: ''
    returnType: bool
    signature: bool UsePerCpuCache(State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:78,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:79,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:81,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:88,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:99,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - in_bytes
    - IsExpandedSizeClass
    - GetParam
    - Length
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    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:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:129,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - ASSERT_EQ
    - EXPECT_EQ
    - absl::FixedArray::back
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - Span*::FreelistPushBatch
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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: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: ~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:155,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:162,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 166
    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::Grow
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:173,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:177,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:194,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:198,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - clear
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - auto::subspan
    - empty
    - std::vector::size
    - std::vector::push_back
    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:206,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:208,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:215,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:223,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 1
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - EXPECT_EQ
    - std::make_unique<SpanData>
    - EXPECT_LE
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - push_back
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:241,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:252,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:254,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:265,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:266,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:267,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 1
    functionsReached:
    - pagemap
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - auto::subspan
    - empty
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - back
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: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::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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:307,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:318,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:325,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:326,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - StaticForwarderEnvironment::RandomlyPoke
    - EXPECT_LE
    - ThreadManager::Stop
    - ThreadManager::Start
    - GTEST_SKIP
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:78,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:79,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:81,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:88,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:99,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - in_bytes
    - IsExpandedSizeClass
    - GetParam
    - Length
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    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:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:129,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - ASSERT_EQ
    - EXPECT_EQ
    - absl::FixedArray::back
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - Span*::FreelistPushBatch
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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: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: ~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:155,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:162,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    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::Grow
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:173,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:177,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:194,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:198,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - clear
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - auto::subspan
    - empty
    - std::vector::size
    - std::vector::push_back
    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:206,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:208,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:215,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:223,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - EXPECT_EQ
    - std::make_unique<SpanData>
    - EXPECT_LE
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - push_back
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:241,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:252,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:254,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:265,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:266,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:267,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - pagemap
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - auto::subspan
    - empty
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - back
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: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::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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:307,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:318,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:325,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:326,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - StaticForwarderEnvironment::RandomlyPoke
    - EXPECT_LE
    - ThreadManager::Stop
    - ThreadManager::Start
    - GTEST_SKIP
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:350,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:352,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,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: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:383,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:387,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - ASSERT_GT
    - EXPECT_EQ
    - TypeParam::batch_size
    - absl::MakeSpan
    - absl::bit_width
    - GetParam
    - EXPECT_LE
    - EXPECT_CALL
    - std::get<0>
    - TypeParam::forwarder
    - static_cast<unsigned>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:404,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:414,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:420,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:425,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:426,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:433,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,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: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:466,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:473,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TC_ASSERT_LT
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - absl::bit_width
    - GetParam
    - std::vector::end
    - std::vector::begin
    - std::get<0>
    - std::vector::emplace_back
    - TC_ASSERT_LE
    - std::vector::size
    - std::shuffle
    - std::min
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:506,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:509,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_GT
    - std::vector::data
    - absl::MakeSpan
    - TypeParam::batch_size
    - GetParam
    - EXPECT_LE
    - std::get<0>
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:525,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:526,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:545,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:562,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - central_freelist
    - TC_ASSERT_LT
    - objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - num_priority_lists
    - f
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:576,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:578,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:583,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - absl::bit_width
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - std::min
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:592,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:595,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:613,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:618,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:632,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:635,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:651,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:672,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 718
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - size
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - std::get<0>
    - TypeParam::num_priority_lists
    - std::min
    - push_back
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::InitializeDefault
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitializeDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanLifetimes::InitializeDefault
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:735,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:748,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:760,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:764,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:768,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:780,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:781,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:790,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:794,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' e'
    - span_lifetimes
    argTypes:
    - TypeParam
    - SpanLifetimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 797
    functionName: tcmalloc::tcmalloc_internal::CheckLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - central_freelist
    - strlen
    - testing::HasSubstr
    - std::string::c_str
    - testing::AllOf
    - std::vector::push_back
    - absl::StrJoin
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - SpanLifetimes::InitializeDefault
    - std::string::size
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void CheckLifetimeStats(TypeParam& e, SpanLifetimes span_lifetimes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:804,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:805,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:816,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:819,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:825,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckLifetimeStats
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:854,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:870,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: absl::bit_width<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:876,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:881,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:886,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:888,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:899,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - testing::ContainsRegex
    - begin
    - testing::AllOf
    - absl::bit_width<size_t>
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - absl::MakeSpan
    - std::string::size
    - absl::StrFormat
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanAllocationTracker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:917,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:921,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:924,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:944,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:965,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:967,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:968,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:969,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:970,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:982,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - EXPECT_GT
    - std::vector::begin
    - ASSERT_GT
    - EXPECT_EQ
    - SpanStats::num_live_spans
    - std::get<0>
    - std::vector::push_back
    - std::min
    - absl::MakeSpan
    - absl::bit_width
    - std::vector::end
    - std::vector::size
    - std::shuffle
    - TypeParam::batch_size
    - GetParam
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1007,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1011,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - test_function
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - absl::MakeSpan
    - GetParam
    - std::min
    - EXPECT_CALL
    - std::get<0>
    - DeallocateSpans
    - AllocateSpan
    - ASSERT_GE
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1024,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1026,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1028,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1031,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1032,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1038,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1046,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1047,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - Span*::Fragmentation
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - GetParam
    - std::get<0>
    - ThreadManager::Stop
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1056,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1070,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1073,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1080,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1093,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1106,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1116,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1128,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1143,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1147
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - TypeParam::num_priority_lists
    - std::get<0>
    - push_back
    - std::min
    - TypeParam::forwarder
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetimeWithLongLivedSpans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1153,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1167,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1170,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1179,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1184,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1187,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1189,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1191,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1195,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1207,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1222,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1226
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - TypeParam::forwarder
    - strlen
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - size
    - absl::MakeSpan
    - std::string::size
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, LongLivedSpansMovedHistogram)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1233,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1248,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1251,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1267,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1270,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1278,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1280,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1288,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1289,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1297,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1298,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1301,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1302,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1304,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1308,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1310,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1320,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1321,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1326,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1335
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - std::vector::pop_back
    - TypeParam::forwarder
    - EXPECT_EQ
    - std::get<0>
    - std::atomic::load
    - absl::Uniform<size_t>
    - std::vector::push_back
    - push_back
    - std::min
    - std::swap
    - erase
    - absl::SleepFor
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::batch_size
    - std::vector::empty
    - GetParam
    - allocate_deallocate_advance
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, ParallelHandleLongLivedSpans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:350,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:352,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,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: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:383,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:387,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - ASSERT_GT
    - EXPECT_EQ
    - TypeParam::batch_size
    - absl::MakeSpan
    - absl::bit_width
    - GetParam
    - EXPECT_LE
    - EXPECT_CALL
    - std::get<0>
    - TypeParam::forwarder
    - static_cast<unsigned>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:404,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:414,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:420,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:425,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:426,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:433,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,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: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:466,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:473,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TC_ASSERT_LT
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - absl::bit_width
    - GetParam
    - std::vector::end
    - std::vector::begin
    - std::get<0>
    - std::vector::emplace_back
    - TC_ASSERT_LE
    - std::vector::size
    - std::shuffle
    - std::min
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:506,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:509,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_GT
    - std::vector::data
    - absl::MakeSpan
    - TypeParam::batch_size
    - GetParam
    - EXPECT_LE
    - std::get<0>
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:525,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:526,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:545,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:562,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - central_freelist
    - TC_ASSERT_LT
    - objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - num_priority_lists
    - f
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:576,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:578,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:583,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - absl::bit_width
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - std::min
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:592,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:595,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:613,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:618,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:632,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:635,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:651,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:672,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 718
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - size
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - std::get<0>
    - TypeParam::num_priority_lists
    - std::min
    - push_back
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::InitializeDefault
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitializeDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanLifetimes::InitializeDefault
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:735,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:748,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:760,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:764,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:768,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:780,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:781,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:790,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:794,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' e'
    - span_lifetimes
    argTypes:
    - TypeParam
    - SpanLifetimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 797
    functionName: tcmalloc::tcmalloc_internal::CheckLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 1
    functionsReached:
    - central_freelist
    - strlen
    - testing::HasSubstr
    - std::string::c_str
    - testing::AllOf
    - std::vector::push_back
    - absl::StrJoin
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - SpanLifetimes::InitializeDefault
    - std::string::size
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void CheckLifetimeStats(TypeParam& e, SpanLifetimes span_lifetimes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:804,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:805,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:816,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:819,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:825,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckLifetimeStats
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:854,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:870,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: absl::bit_width<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:876,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:881,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:886,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:888,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:899,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - testing::ContainsRegex
    - begin
    - testing::AllOf
    - absl::bit_width<size_t>
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - absl::MakeSpan
    - std::string::size
    - absl::StrFormat
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanAllocationTracker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:917,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:921,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:924,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:944,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:965,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:967,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:968,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:969,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:970,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:982,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - EXPECT_GT
    - std::vector::begin
    - ASSERT_GT
    - EXPECT_EQ
    - SpanStats::num_live_spans
    - std::get<0>
    - std::vector::push_back
    - std::min
    - absl::MakeSpan
    - absl::bit_width
    - std::vector::end
    - std::vector::size
    - std::shuffle
    - TypeParam::batch_size
    - GetParam
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1007,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1011,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - test_function
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - absl::MakeSpan
    - GetParam
    - std::min
    - EXPECT_CALL
    - std::get<0>
    - DeallocateSpans
    - AllocateSpan
    - ASSERT_GE
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1024,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1026,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1028,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1031,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1032,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1038,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1046,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1047,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - Span*::Fragmentation
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - GetParam
    - std::get<0>
    - ThreadManager::Stop
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1056,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1070,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1073,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1080,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1093,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1106,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1116,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1128,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1143,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1147
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - TypeParam::num_priority_lists
    - std::get<0>
    - push_back
    - std::min
    - TypeParam::forwarder
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetimeWithLongLivedSpans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1153,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1167,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1170,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1179,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1184,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1187,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1189,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1191,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1195,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1207,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1222,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1226
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - TypeParam::forwarder
    - strlen
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - size
    - absl::MakeSpan
    - std::string::size
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, LongLivedSpansMovedHistogram)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1233,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1248,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1251,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1267,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1270,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1278,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1280,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1288,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1289,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1297,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1298,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1301,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1302,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1304,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1308,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1310,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1320,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1321,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1326,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1335
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - std::vector::pop_back
    - TypeParam::forwarder
    - EXPECT_EQ
    - std::get<0>
    - std::atomic::load
    - absl::Uniform<size_t>
    - std::vector::push_back
    - push_back
    - std::min
    - std::swap
    - erase
    - absl::SleepFor
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::batch_size
    - std::vector::empty
    - GetParam
    - allocate_deallocate_advance
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, ParallelHandleLongLivedSpans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:78,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:79,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:81,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:88,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:99,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - in_bytes
    - IsExpandedSizeClass
    - GetParam
    - Length
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    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:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:129,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - ASSERT_EQ
    - EXPECT_EQ
    - absl::FixedArray::back
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - Span*::FreelistPushBatch
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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: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: ~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:155,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:162,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    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::Grow
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:173,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:177,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:194,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:198,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - clear
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - auto::subspan
    - empty
    - std::vector::size
    - std::vector::push_back
    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:206,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:208,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:215,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:223,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 3
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - EXPECT_EQ
    - std::make_unique<SpanData>
    - EXPECT_LE
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - push_back
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:241,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:252,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:254,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:265,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:266,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:267,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 3
    functionsReached:
    - pagemap
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - auto::subspan
    - empty
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - back
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: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::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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:307,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:318,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:325,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:326,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - StaticForwarderEnvironment::RandomlyPoke
    - EXPECT_LE
    - ThreadManager::Stop
    - ThreadManager::Start
    - GTEST_SKIP
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:78,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:79,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:81,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:88,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:99,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - in_bytes
    - IsExpandedSizeClass
    - GetParam
    - Length
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    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:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:129,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - ASSERT_EQ
    - EXPECT_EQ
    - absl::FixedArray::back
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - Span*::FreelistPushBatch
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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: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: ~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:155,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:162,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    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::Grow
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:173,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:177,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:194,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:198,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - clear
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - auto::subspan
    - empty
    - std::vector::size
    - std::vector::push_back
    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:206,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:208,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:215,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:223,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - EXPECT_EQ
    - std::make_unique<SpanData>
    - EXPECT_LE
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - push_back
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:241,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:252,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:254,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:265,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:266,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:267,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - pagemap
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - auto::subspan
    - empty
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - back
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: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::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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:307,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:318,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:325,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:326,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - StaticForwarderEnvironment::RandomlyPoke
    - EXPECT_LE
    - ThreadManager::Stop
    - ThreadManager::Start
    - GTEST_SKIP
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:350,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:352,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,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: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:383,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:387,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - ASSERT_GT
    - EXPECT_EQ
    - TypeParam::batch_size
    - absl::MakeSpan
    - absl::bit_width
    - GetParam
    - EXPECT_LE
    - EXPECT_CALL
    - std::get<0>
    - TypeParam::forwarder
    - static_cast<unsigned>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:404,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:414,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:420,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:425,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:426,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:433,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,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: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:466,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:473,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TC_ASSERT_LT
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - absl::bit_width
    - GetParam
    - std::vector::end
    - std::vector::begin
    - std::get<0>
    - std::vector::emplace_back
    - TC_ASSERT_LE
    - std::vector::size
    - std::shuffle
    - std::min
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:506,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:509,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_GT
    - std::vector::data
    - absl::MakeSpan
    - TypeParam::batch_size
    - GetParam
    - EXPECT_LE
    - std::get<0>
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:525,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:526,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:545,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:562,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - central_freelist
    - TC_ASSERT_LT
    - objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - num_priority_lists
    - f
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:576,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:578,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:583,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - absl::bit_width
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - std::min
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:592,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:595,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:613,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:618,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:632,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:635,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:651,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:672,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 718
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - size
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - std::get<0>
    - TypeParam::num_priority_lists
    - std::min
    - push_back
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::InitializeDefault
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitializeDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanLifetimes::InitializeDefault
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:735,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:748,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:760,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:764,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:768,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:780,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:781,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:790,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:794,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' e'
    - span_lifetimes
    argTypes:
    - TypeParam
    - SpanLifetimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 797
    functionName: tcmalloc::tcmalloc_internal::CheckLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 2
    functionsReached:
    - central_freelist
    - strlen
    - testing::HasSubstr
    - std::string::c_str
    - testing::AllOf
    - std::vector::push_back
    - absl::StrJoin
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - SpanLifetimes::InitializeDefault
    - std::string::size
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void CheckLifetimeStats(TypeParam& e, SpanLifetimes span_lifetimes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:804,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:805,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:816,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:819,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:825,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckLifetimeStats
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:854,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:870,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: absl::bit_width<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:876,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:881,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:886,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:888,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:899,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - testing::ContainsRegex
    - begin
    - testing::AllOf
    - absl::bit_width<size_t>
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - absl::MakeSpan
    - std::string::size
    - absl::StrFormat
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanAllocationTracker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:917,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:921,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:924,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:944,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:965,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:967,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:968,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:969,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:970,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:982,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - EXPECT_GT
    - std::vector::begin
    - ASSERT_GT
    - EXPECT_EQ
    - SpanStats::num_live_spans
    - std::get<0>
    - std::vector::push_back
    - std::min
    - absl::MakeSpan
    - absl::bit_width
    - std::vector::end
    - std::vector::size
    - std::shuffle
    - TypeParam::batch_size
    - GetParam
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1007,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1011,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - test_function
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - absl::MakeSpan
    - GetParam
    - std::min
    - EXPECT_CALL
    - std::get<0>
    - DeallocateSpans
    - AllocateSpan
    - ASSERT_GE
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1024,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1026,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1028,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1031,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1032,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1038,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1046,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1047,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - Span*::Fragmentation
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - GetParam
    - std::get<0>
    - ThreadManager::Stop
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1056,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1070,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1073,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1080,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1093,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1106,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1116,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1128,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1143,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1147
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - TypeParam::num_priority_lists
    - std::get<0>
    - push_back
    - std::min
    - TypeParam::forwarder
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetimeWithLongLivedSpans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1153,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1167,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1170,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1179,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1184,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1187,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1189,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1191,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1195,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1207,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1222,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1226
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - TypeParam::forwarder
    - strlen
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - size
    - absl::MakeSpan
    - std::string::size
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, LongLivedSpansMovedHistogram)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1233,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1248,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1251,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1267,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1270,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1278,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1280,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1288,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1289,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1297,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1298,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1301,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1302,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1304,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1308,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1310,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1320,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1321,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1326,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1335
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - std::vector::pop_back
    - TypeParam::forwarder
    - EXPECT_EQ
    - std::get<0>
    - std::atomic::load
    - absl::Uniform<size_t>
    - std::vector::push_back
    - push_back
    - std::min
    - std::swap
    - erase
    - absl::SleepFor
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::batch_size
    - std::vector::empty
    - GetParam
    - allocate_deallocate_advance
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, ParallelHandleLongLivedSpans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:350,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:352,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,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: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:383,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:387,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - ASSERT_GT
    - EXPECT_EQ
    - TypeParam::batch_size
    - absl::MakeSpan
    - absl::bit_width
    - GetParam
    - EXPECT_LE
    - EXPECT_CALL
    - std::get<0>
    - TypeParam::forwarder
    - static_cast<unsigned>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:404,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:414,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:420,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:425,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:426,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:433,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,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: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:466,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:473,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TC_ASSERT_LT
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - absl::bit_width
    - GetParam
    - std::vector::end
    - std::vector::begin
    - std::get<0>
    - std::vector::emplace_back
    - TC_ASSERT_LE
    - std::vector::size
    - std::shuffle
    - std::min
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:506,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:509,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_GT
    - std::vector::data
    - absl::MakeSpan
    - TypeParam::batch_size
    - GetParam
    - EXPECT_LE
    - std::get<0>
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:525,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:526,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:545,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:562,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - central_freelist
    - TC_ASSERT_LT
    - objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - num_priority_lists
    - f
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:576,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:578,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:583,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - absl::bit_width
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - std::min
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:592,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:595,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:613,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:618,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:632,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:635,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:651,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:672,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 718
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - size
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - std::get<0>
    - TypeParam::num_priority_lists
    - std::min
    - push_back
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::InitializeDefault
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitializeDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanLifetimes::InitializeDefault
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:735,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:748,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:760,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:764,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:768,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:780,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:781,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:790,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:794,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' e'
    - span_lifetimes
    argTypes:
    - TypeParam
    - SpanLifetimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 797
    functionName: tcmalloc::tcmalloc_internal::CheckLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 3
    functionsReached:
    - central_freelist
    - strlen
    - testing::HasSubstr
    - std::string::c_str
    - testing::AllOf
    - std::vector::push_back
    - absl::StrJoin
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - SpanLifetimes::InitializeDefault
    - std::string::size
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void CheckLifetimeStats(TypeParam& e, SpanLifetimes span_lifetimes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:804,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:805,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:816,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:819,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:825,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckLifetimeStats
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:854,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:870,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: absl::bit_width<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:876,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:881,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:886,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:888,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:899,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - testing::ContainsRegex
    - begin
    - testing::AllOf
    - absl::bit_width<size_t>
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - absl::MakeSpan
    - std::string::size
    - absl::StrFormat
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanAllocationTracker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:917,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:921,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:924,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:944,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:965,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:967,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:968,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:969,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:970,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:982,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - EXPECT_GT
    - std::vector::begin
    - ASSERT_GT
    - EXPECT_EQ
    - SpanStats::num_live_spans
    - std::get<0>
    - std::vector::push_back
    - std::min
    - absl::MakeSpan
    - absl::bit_width
    - std::vector::end
    - std::vector::size
    - std::shuffle
    - TypeParam::batch_size
    - GetParam
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1007,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1011,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - test_function
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - absl::MakeSpan
    - GetParam
    - std::min
    - EXPECT_CALL
    - std::get<0>
    - DeallocateSpans
    - AllocateSpan
    - ASSERT_GE
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1024,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1026,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1028,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1031,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1032,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1038,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1046,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1047,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - Span*::Fragmentation
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - GetParam
    - std::get<0>
    - ThreadManager::Stop
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1056,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1070,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1073,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1080,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1093,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1106,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1116,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1128,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1143,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1147
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - TypeParam::num_priority_lists
    - std::get<0>
    - push_back
    - std::min
    - TypeParam::forwarder
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetimeWithLongLivedSpans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1153,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1167,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1170,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1179,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1184,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1187,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1189,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1191,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1195,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1207,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1222,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1226
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - TypeParam::forwarder
    - strlen
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - size
    - absl::MakeSpan
    - std::string::size
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, LongLivedSpansMovedHistogram)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1233,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1248,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1251,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1267,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1270,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1278,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1280,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1288,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1289,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1297,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1298,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1301,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1302,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1304,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1308,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1310,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1320,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1321,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1326,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1335
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - std::vector::pop_back
    - TypeParam::forwarder
    - EXPECT_EQ
    - std::get<0>
    - std::atomic::load
    - absl::Uniform<size_t>
    - std::vector::push_back
    - push_back
    - std::min
    - std::swap
    - erase
    - absl::SleepFor
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::batch_size
    - std::vector::empty
    - GetParam
    - allocate_deallocate_advance
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, ParallelHandleLongLivedSpans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:78,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:79,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:81,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:88,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:99,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - in_bytes
    - IsExpandedSizeClass
    - GetParam
    - Length
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    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:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:129,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - ASSERT_EQ
    - EXPECT_EQ
    - absl::FixedArray::back
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - Span*::FreelistPushBatch
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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: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: ~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:155,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:162,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    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::Grow
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:173,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:177,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:194,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:198,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - clear
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - auto::subspan
    - empty
    - std::vector::size
    - std::vector::push_back
    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:206,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:208,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:215,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:223,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 5
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - EXPECT_EQ
    - std::make_unique<SpanData>
    - EXPECT_LE
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - push_back
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:241,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:252,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:254,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:265,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:266,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:267,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 5
    functionsReached:
    - pagemap
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - auto::subspan
    - empty
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - back
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: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::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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:307,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:318,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:325,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:326,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - StaticForwarderEnvironment::RandomlyPoke
    - EXPECT_LE
    - ThreadManager::Stop
    - ThreadManager::Start
    - GTEST_SKIP
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:78,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:79,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:81,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:88,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:99,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - in_bytes
    - IsExpandedSizeClass
    - GetParam
    - Length
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    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:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:129,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - ASSERT_EQ
    - EXPECT_EQ
    - absl::FixedArray::back
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - Span*::FreelistPushBatch
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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: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: ~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:155,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:162,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    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::Grow
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:173,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:177,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:194,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:198,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - clear
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - auto::subspan
    - empty
    - std::vector::size
    - std::vector::push_back
    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:206,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:208,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:215,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:223,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - EXPECT_EQ
    - std::make_unique<SpanData>
    - EXPECT_LE
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - push_back
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:241,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:252,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:254,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:265,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:266,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:267,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - pagemap
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - auto::subspan
    - empty
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - back
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: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::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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:307,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:318,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:325,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:326,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - StaticForwarderEnvironment::RandomlyPoke
    - EXPECT_LE
    - ThreadManager::Stop
    - ThreadManager::Start
    - GTEST_SKIP
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:350,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:352,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,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: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:383,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:387,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - ASSERT_GT
    - EXPECT_EQ
    - TypeParam::batch_size
    - absl::MakeSpan
    - absl::bit_width
    - GetParam
    - EXPECT_LE
    - EXPECT_CALL
    - std::get<0>
    - TypeParam::forwarder
    - static_cast<unsigned>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:404,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:414,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:420,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:425,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:426,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:433,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,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: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:466,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:473,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TC_ASSERT_LT
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - absl::bit_width
    - GetParam
    - std::vector::end
    - std::vector::begin
    - std::get<0>
    - std::vector::emplace_back
    - TC_ASSERT_LE
    - std::vector::size
    - std::shuffle
    - std::min
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:506,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:509,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_GT
    - std::vector::data
    - absl::MakeSpan
    - TypeParam::batch_size
    - GetParam
    - EXPECT_LE
    - std::get<0>
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:525,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:526,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:545,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:562,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 8
    functionsReached:
    - central_freelist
    - TC_ASSERT_LT
    - objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - num_priority_lists
    - f
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:576,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:578,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:583,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - absl::bit_width
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - std::min
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:592,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:595,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:613,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:618,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:632,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:635,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:651,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:672,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 718
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - size
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - std::get<0>
    - TypeParam::num_priority_lists
    - std::min
    - push_back
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::InitializeDefault
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitializeDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanLifetimes::InitializeDefault
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:735,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:748,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:760,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:764,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:768,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:780,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:781,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:790,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:794,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' e'
    - span_lifetimes
    argTypes:
    - TypeParam
    - SpanLifetimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 797
    functionName: tcmalloc::tcmalloc_internal::CheckLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 4
    functionsReached:
    - central_freelist
    - strlen
    - testing::HasSubstr
    - std::string::c_str
    - testing::AllOf
    - std::vector::push_back
    - absl::StrJoin
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - SpanLifetimes::InitializeDefault
    - std::string::size
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void CheckLifetimeStats(TypeParam& e, SpanLifetimes span_lifetimes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:804,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:805,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:816,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:819,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:825,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckLifetimeStats
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:854,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:870,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: absl::bit_width<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:876,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:881,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:886,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:888,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:899,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - testing::ContainsRegex
    - begin
    - testing::AllOf
    - absl::bit_width<size_t>
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - absl::MakeSpan
    - std::string::size
    - absl::StrFormat
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanAllocationTracker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:917,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:921,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:924,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:944,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:965,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:967,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:968,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:969,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:970,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:982,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - EXPECT_GT
    - std::vector::begin
    - ASSERT_GT
    - EXPECT_EQ
    - SpanStats::num_live_spans
    - std::get<0>
    - std::vector::push_back
    - std::min
    - absl::MakeSpan
    - absl::bit_width
    - std::vector::end
    - std::vector::size
    - std::shuffle
    - TypeParam::batch_size
    - GetParam
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1007,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1011,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - test_function
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - absl::MakeSpan
    - GetParam
    - std::min
    - EXPECT_CALL
    - std::get<0>
    - DeallocateSpans
    - AllocateSpan
    - ASSERT_GE
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1024,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1026,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1028,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1031,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1032,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1038,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1046,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1047,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - Span*::Fragmentation
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - GetParam
    - std::get<0>
    - ThreadManager::Stop
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1056,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1070,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1073,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1080,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1093,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1106,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1116,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1128,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1143,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1147
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - TypeParam::num_priority_lists
    - std::get<0>
    - push_back
    - std::min
    - TypeParam::forwarder
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetimeWithLongLivedSpans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1153,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1167,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1170,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1179,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1184,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1187,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1189,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1191,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1195,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1207,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1222,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1226
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - TypeParam::forwarder
    - strlen
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - size
    - absl::MakeSpan
    - std::string::size
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, LongLivedSpansMovedHistogram)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1233,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1248,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1251,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1267,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1270,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1278,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1280,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1288,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1289,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1297,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1298,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1301,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1302,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1304,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1308,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1310,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1320,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1321,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1326,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1335
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - std::vector::pop_back
    - TypeParam::forwarder
    - EXPECT_EQ
    - std::get<0>
    - std::atomic::load
    - absl::Uniform<size_t>
    - std::vector::push_back
    - push_back
    - std::min
    - std::swap
    - erase
    - absl::SleepFor
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::batch_size
    - std::vector::empty
    - GetParam
    - allocate_deallocate_advance
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, ParallelHandleLongLivedSpans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:350,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:352,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,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: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:383,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:387,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - ASSERT_GT
    - EXPECT_EQ
    - TypeParam::batch_size
    - absl::MakeSpan
    - absl::bit_width
    - GetParam
    - EXPECT_LE
    - EXPECT_CALL
    - std::get<0>
    - TypeParam::forwarder
    - static_cast<unsigned>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:404,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:414,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:420,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:425,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:426,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:433,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,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: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:466,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:473,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TC_ASSERT_LT
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - absl::bit_width
    - GetParam
    - std::vector::end
    - std::vector::begin
    - std::get<0>
    - std::vector::emplace_back
    - TC_ASSERT_LE
    - std::vector::size
    - std::shuffle
    - std::min
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:506,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:509,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_GT
    - std::vector::data
    - absl::MakeSpan
    - TypeParam::batch_size
    - GetParam
    - EXPECT_LE
    - std::get<0>
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:525,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:526,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:545,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:562,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 10
    functionsReached:
    - central_freelist
    - TC_ASSERT_LT
    - objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - num_priority_lists
    - f
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:576,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:578,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:583,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - absl::bit_width
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - std::min
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:592,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:595,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:613,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:618,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:632,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:635,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:651,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:672,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 718
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - size
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - std::get<0>
    - TypeParam::num_priority_lists
    - std::min
    - push_back
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::InitializeDefault
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitializeDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanLifetimes::InitializeDefault
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:735,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:748,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:760,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:764,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:768,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:780,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:781,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:790,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:794,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' e'
    - span_lifetimes
    argTypes:
    - TypeParam
    - SpanLifetimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 797
    functionName: tcmalloc::tcmalloc_internal::CheckLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 5
    functionsReached:
    - central_freelist
    - strlen
    - testing::HasSubstr
    - std::string::c_str
    - testing::AllOf
    - std::vector::push_back
    - absl::StrJoin
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - SpanLifetimes::InitializeDefault
    - std::string::size
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void CheckLifetimeStats(TypeParam& e, SpanLifetimes span_lifetimes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:804,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:805,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:816,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:819,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:825,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckLifetimeStats
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:854,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:870,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: absl::bit_width<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:876,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:881,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:886,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:888,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:899,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - testing::ContainsRegex
    - begin
    - testing::AllOf
    - absl::bit_width<size_t>
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - absl::MakeSpan
    - std::string::size
    - absl::StrFormat
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanAllocationTracker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:917,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:921,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:924,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:944,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:965,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:967,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:968,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:969,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:970,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:982,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - EXPECT_GT
    - std::vector::begin
    - ASSERT_GT
    - EXPECT_EQ
    - SpanStats::num_live_spans
    - std::get<0>
    - std::vector::push_back
    - std::min
    - absl::MakeSpan
    - absl::bit_width
    - std::vector::end
    - std::vector::size
    - std::shuffle
    - TypeParam::batch_size
    - GetParam
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1007,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1011,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - test_function
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - absl::MakeSpan
    - GetParam
    - std::min
    - EXPECT_CALL
    - std::get<0>
    - DeallocateSpans
    - AllocateSpan
    - ASSERT_GE
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1024,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1026,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1028,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1031,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1032,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1038,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1046,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1047,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - Span*::Fragmentation
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - GetParam
    - std::get<0>
    - ThreadManager::Stop
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1056,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1070,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1073,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1080,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1093,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1106,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1116,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1128,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1143,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1147
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - TypeParam::num_priority_lists
    - std::get<0>
    - push_back
    - std::min
    - TypeParam::forwarder
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetimeWithLongLivedSpans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1153,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1167,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1170,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1179,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1184,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1187,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1189,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1191,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1195,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1207,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1222,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1226
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - TypeParam::forwarder
    - strlen
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - size
    - absl::MakeSpan
    - std::string::size
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, LongLivedSpansMovedHistogram)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1233,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1248,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1251,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1267,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1270,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1278,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1280,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1288,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1289,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1297,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1298,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1301,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1302,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1304,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1308,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1310,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1320,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1321,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1326,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1335
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - std::vector::pop_back
    - TypeParam::forwarder
    - EXPECT_EQ
    - std::get<0>
    - std::atomic::load
    - absl::Uniform<size_t>
    - std::vector::push_back
    - push_back
    - std::min
    - std::swap
    - erase
    - absl::SleepFor
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::batch_size
    - std::vector::empty
    - GetParam
    - allocate_deallocate_advance
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, ParallelHandleLongLivedSpans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:78,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:79,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:81,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:88,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:99,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - in_bytes
    - IsExpandedSizeClass
    - GetParam
    - Length
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    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:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:129,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - ASSERT_EQ
    - EXPECT_EQ
    - absl::FixedArray::back
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - Span*::FreelistPushBatch
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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: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: ~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:155,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:162,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    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::Grow
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:173,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:177,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:194,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:198,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - clear
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - auto::subspan
    - empty
    - std::vector::size
    - std::vector::push_back
    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:206,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:208,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:215,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:223,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 7
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - EXPECT_EQ
    - std::make_unique<SpanData>
    - EXPECT_LE
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - push_back
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:241,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:252,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:254,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:265,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:266,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:267,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 7
    functionsReached:
    - pagemap
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - auto::subspan
    - empty
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - back
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: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::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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:307,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:318,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:325,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:326,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - StaticForwarderEnvironment::RandomlyPoke
    - EXPECT_LE
    - ThreadManager::Stop
    - ThreadManager::Start
    - GTEST_SKIP
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:78,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:79,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:81,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:88,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:94,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:97,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:98,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:99,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - ColdFeatureActive
    - in_bytes
    - IsExpandedSizeClass
    - GetParam
    - Length
    - sizemap
    - tcmalloc_internal::Span::CalcReciprocal
    - GTEST_SKIP
    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:105,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:107,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:110,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:116,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: Span*::FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:127,1
    - Dst: absl::FixedArray::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:129,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - ASSERT_EQ
    - EXPECT_EQ
    - absl::FixedArray::back
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    - Span*::FreelistPushBatch
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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: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: ~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:155,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:158,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:162,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    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::Grow
    - tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shuffle
    linkageType: ''
    returnType: void
    signature: void RandomlyPoke()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:173,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:177,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:184,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:186,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:187,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:192,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:194,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:197,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:198,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:199,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Drain
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - clear
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - auto::subspan
    - empty
    - std::vector::size
    - std::vector::push_back
    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:206,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:208,1
    - Dst: std::make_unique<SpanData>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:210,1
    - Dst: Span*::BuildFreelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:213,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:214,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:215,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:219,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:223,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 8
    functionsReached:
    - pagemap
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::clock_now
    - absl::MakeSpan
    - EXPECT_EQ
    - std::make_unique<SpanData>
    - EXPECT_LE
    - ASSERT_NE
    - Span*::first_page
    - Span*::last_page
    - Span*::BuildFreelist
    - push_back
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    linkageType: ''
    returnType: void
    signature: void Grow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:236,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:240,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:241,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:244,1
    - Dst: pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:252,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: span::first_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:254,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: span::last_page
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:255,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:260,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:265,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:266,1
    - Dst: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:267,1
    - Dst: auto::subspan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::StaticForwarderEnvironment::Shrink
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 8
    functionsReached:
    - pagemap
    - size
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    - std::move
    - EXPECT_EQ
    - span::last_page
    - span::first_page
    - absl::MakeSpan
    - tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    - pop_back
    - auto::subspan
    - empty
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - back
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void Shrink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - absl::BitGen
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: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::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: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:304,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:307,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: StaticForwarderEnvironment::RandomlyPoke
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:312,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:314,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:316,1
    - Dst: tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:318,1
    - Dst: StaticForwarderEnvironment::BytesAllocated
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:325,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:326,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:327,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: tcmalloc::tcmalloc_internal::central_freelist_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - StaticForwarderEnvironment::RandomlyPoke
    - EXPECT_LE
    - ThreadManager::Stop
    - ThreadManager::Start
    - GTEST_SKIP
    - tcmalloc::tcmalloc_internal::central_freelist_internal::PageHeapStats
    - StaticForwarderEnvironment::BytesAllocated
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(StaticForwarderTest, Fuzz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:350,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:352,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,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: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:383,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:387,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - ASSERT_GT
    - EXPECT_EQ
    - TypeParam::batch_size
    - absl::MakeSpan
    - absl::bit_width
    - GetParam
    - EXPECT_LE
    - EXPECT_CALL
    - std::get<0>
    - TypeParam::forwarder
    - static_cast<unsigned>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:404,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:414,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:420,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:425,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:426,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:433,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,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: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:466,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:473,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TC_ASSERT_LT
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - absl::bit_width
    - GetParam
    - std::vector::end
    - std::vector::begin
    - std::get<0>
    - std::vector::emplace_back
    - TC_ASSERT_LE
    - std::vector::size
    - std::shuffle
    - std::min
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:506,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:509,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_GT
    - std::vector::data
    - absl::MakeSpan
    - TypeParam::batch_size
    - GetParam
    - EXPECT_LE
    - std::get<0>
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:525,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:526,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:545,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:562,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 12
    functionsReached:
    - central_freelist
    - TC_ASSERT_LT
    - objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - num_priority_lists
    - f
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:576,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:578,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:583,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - absl::bit_width
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - std::min
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:592,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:595,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:613,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:618,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:632,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:635,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:651,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:672,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 718
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - size
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - std::get<0>
    - TypeParam::num_priority_lists
    - std::min
    - push_back
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::InitializeDefault
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitializeDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanLifetimes::InitializeDefault
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:735,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:748,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:760,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:764,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:768,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:780,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:781,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:790,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:794,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' e'
    - span_lifetimes
    argTypes:
    - TypeParam
    - SpanLifetimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 797
    functionName: tcmalloc::tcmalloc_internal::CheckLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 6
    functionsReached:
    - central_freelist
    - strlen
    - testing::HasSubstr
    - std::string::c_str
    - testing::AllOf
    - std::vector::push_back
    - absl::StrJoin
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - SpanLifetimes::InitializeDefault
    - std::string::size
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void CheckLifetimeStats(TypeParam& e, SpanLifetimes span_lifetimes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:804,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:805,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:816,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:819,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:825,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckLifetimeStats
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:854,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:870,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: absl::bit_width<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:876,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:881,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:886,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:888,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:899,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - testing::ContainsRegex
    - begin
    - testing::AllOf
    - absl::bit_width<size_t>
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - absl::MakeSpan
    - std::string::size
    - absl::StrFormat
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanAllocationTracker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:917,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:921,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:924,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:944,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:965,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:967,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:968,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:969,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:970,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:982,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - EXPECT_GT
    - std::vector::begin
    - ASSERT_GT
    - EXPECT_EQ
    - SpanStats::num_live_spans
    - std::get<0>
    - std::vector::push_back
    - std::min
    - absl::MakeSpan
    - absl::bit_width
    - std::vector::end
    - std::vector::size
    - std::shuffle
    - TypeParam::batch_size
    - GetParam
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1007,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1011,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - test_function
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - absl::MakeSpan
    - GetParam
    - std::min
    - EXPECT_CALL
    - std::get<0>
    - DeallocateSpans
    - AllocateSpan
    - ASSERT_GE
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1024,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1026,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1028,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1031,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1032,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1038,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1046,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1047,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - Span*::Fragmentation
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - GetParam
    - std::get<0>
    - ThreadManager::Stop
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1056,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1070,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1073,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1080,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1093,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1106,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1116,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1128,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1143,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1147
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - TypeParam::num_priority_lists
    - std::get<0>
    - push_back
    - std::min
    - TypeParam::forwarder
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetimeWithLongLivedSpans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1153,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1167,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1170,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1179,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1184,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1187,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1189,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1191,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1195,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1207,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1222,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1226
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - TypeParam::forwarder
    - strlen
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - size
    - absl::MakeSpan
    - std::string::size
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, LongLivedSpansMovedHistogram)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1233,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1248,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1251,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1267,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1270,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1278,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1280,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1288,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1289,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1297,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1298,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1301,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1302,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1304,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1308,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1310,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1320,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1321,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1326,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1335
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - std::vector::pop_back
    - TypeParam::forwarder
    - EXPECT_EQ
    - std::get<0>
    - std::atomic::load
    - absl::Uniform<size_t>
    - std::vector::push_back
    - push_back
    - std::min
    - std::swap
    - erase
    - absl::SleepFor
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::batch_size
    - std::vector::empty
    - GetParam
    - allocate_deallocate_advance
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, ParallelHandleLongLivedSpans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:345,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:346,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:347,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:349,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:350,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:351,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:352,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:353,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: static_cast<unsigned>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:357,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:358,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: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:364,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:368,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:369,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:373,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:377,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:380,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:383,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:387,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - ASSERT_GT
    - EXPECT_EQ
    - TypeParam::batch_size
    - absl::MakeSpan
    - absl::bit_width
    - GetParam
    - EXPECT_LE
    - EXPECT_CALL
    - std::get<0>
    - TypeParam::forwarder
    - static_cast<unsigned>
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, IsolatedSmoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:398,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:399,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:404,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:414,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:415,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:420,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:425,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:426,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:433,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:438,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:445,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:450,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: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:458,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:466,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:469,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:473,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 491
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TC_ASSERT_LT
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - absl::bit_width
    - GetParam
    - std::vector::end
    - std::vector::begin
    - std::get<0>
    - std::vector::emplace_back
    - TC_ASSERT_LE
    - std::vector::size
    - std::shuffle
    - std::min
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanUtilizationHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:501,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:502,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:506,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:507,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:509,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:510,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:513,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - EXPECT_GT
    - std::vector::data
    - absl::MakeSpan
    - TypeParam::batch_size
    - GetParam
    - EXPECT_LE
    - std::get<0>
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SinglePopulate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:525,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:526,1
    - Dst: objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:527,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:537,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:543,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:545,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:546,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:549,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:558,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:559,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:562,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:563,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:564,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' e'
    - f
    argTypes:
    - TypeParam
    - IndexingFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 571
    functionName: tcmalloc::tcmalloc_internal::TestIndexing
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 14
    functionsReached:
    - central_freelist
    - TC_ASSERT_LT
    - objects_per_span
    - EXPECT_EQ
    - absl::MakeSpan
    - num_priority_lists
    - f
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_GT
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TestIndexing(TypeParam& e, IndexingFunc f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:574,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:575,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:576,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:578,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:579,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:583,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - absl::bit_width
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - std::min
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, BitwidthIndexedNonEmptyLists)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:590,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:591,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:592,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:594,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:595,1
    - Dst: tcmalloc::tcmalloc_internal::TestIndexing
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::num_priority_lists
    - tcmalloc::tcmalloc_internal::TestIndexing
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, DirectIndexedEncodedNonEmptyLists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:611,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:612,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:613,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:618,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:632,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:633,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:635,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:646,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:651,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:653,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:658,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:667,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:672,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:674,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:682,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:687,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:690,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:696,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:706,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:710,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:714,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 718
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - size
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - std::get<0>
    - TypeParam::num_priority_lists
    - std::min
    - push_back
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: tcmalloc::tcmalloc_internal::InitializeDefault
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitializeDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpanLifetimes::InitializeDefault
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:735,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:748,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:753,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:760,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:763,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:764,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:765,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:767,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:768,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:777,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:780,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:781,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:787,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:790,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:792,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:794,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:795,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    - Dst: absl::StrJoin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' e'
    - span_lifetimes
    argTypes:
    - TypeParam
    - SpanLifetimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 797
    functionName: tcmalloc::tcmalloc_internal::CheckLifetimeStats
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 7
    functionsReached:
    - central_freelist
    - strlen
    - testing::HasSubstr
    - std::string::c_str
    - testing::AllOf
    - std::vector::push_back
    - absl::StrJoin
    - std::string::resize
    - std::string::begin
    - EXPECT_THAT
    - SpanLifetimes::InitializeDefault
    - std::string::size
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void CheckLifetimeStats(TypeParam& e, SpanLifetimes span_lifetimes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:800,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:801,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:804,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:805,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:811,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:812,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:813,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:815,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:816,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:818,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:819,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:821,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:822,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:824,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:825,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:827,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:829,1
    - Dst: tcmalloc::tcmalloc_internal::CheckLifetimeStats
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - ASSERT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::CheckLifetimeStats
    - GetParam
    - std::get<0>
    - GTEST_SKIP
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:834,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:835,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:837,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:851,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:852,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:854,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:863,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:864,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:870,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:871,1
    - Dst: absl::bit_width<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:876,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:881,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:883,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:884,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:885,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:886,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:888,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:889,1
    - Dst: testing::ContainsRegex
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:890,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:894,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:897,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:899,1
    - Dst: testing::AllOf
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:900,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - testing::ContainsRegex
    - begin
    - testing::AllOf
    - absl::bit_width<size_t>
    - strlen
    - EXPECT_EQ
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - absl::MakeSpan
    - std::string::size
    - absl::StrFormat
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanAllocationTracker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:909,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:910,1
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:916,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:917,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:921,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:922,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:924,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:932,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:936,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:939,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:944,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:947,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:950,1
    - Dst: std::shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:954,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:960,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:965,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:967,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:968,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:969,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:970,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:974,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:975,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: SpanStats::num_live_spans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:977,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:982,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - EXPECT_GT
    - std::vector::begin
    - ASSERT_GT
    - EXPECT_EQ
    - SpanStats::num_live_spans
    - std::get<0>
    - std::vector::push_back
    - std::min
    - absl::MakeSpan
    - absl::bit_width
    - std::vector::end
    - std::vector::size
    - std::shuffle
    - TypeParam::batch_size
    - GetParam
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, MultipleSpans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:991,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:992,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:993,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: AllocateSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:997,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:999,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1001,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1004,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1006,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1007,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1011,1
    - Dst: test_function
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - test_function
    - TypeParam::objects_per_span
    - TypeParam::central_freelist
    - TypeParam::batch_size
    - absl::MakeSpan
    - GetParam
    - std::min
    - EXPECT_CALL
    - std::get<0>
    - DeallocateSpans
    - AllocateSpan
    - ASSERT_GE
    - TypeParam::forwarder
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, PassSpanDensityToPageheap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1019,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1020,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1024,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1026,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1028,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1031,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1032,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1033,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1038,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1040,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1041,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1044,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1046,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1047,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - Span*::Fragmentation
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::MakeSpan
    - ASSERT_EQ
    - GetParam
    - std::get<0>
    - ThreadManager::Stop
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanFragmentation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1053,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1054,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1056,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1070,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1071,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1073,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1080,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1088,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1093,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1095,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1096,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1105,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1106,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1111,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1115,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1116,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1121,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1122,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1126,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1127,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1128,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1131,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1137,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1138,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: TypeParam::num_priority_lists
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1139,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1143,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1147
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - size
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - absl::MakeSpan
    - TypeParam::batch_size
    - begin
    - GetParam
    - TypeParam::num_priority_lists
    - std::get<0>
    - push_back
    - std::min
    - TypeParam::forwarder
    - erase
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, SpanLifetimeWithLongLivedSpans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1150,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1151,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1153,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1167,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1168,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1170,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1179,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1180,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1184,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1187,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1189,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1191,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1194,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1195,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1198,1
    - Dst: std::string::begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: std::string::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1204,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1207,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1208,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1209,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1222,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1226
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - TypeParam::forwarder
    - strlen
    - testing::HasSubstr
    - std::get<0>
    - std::string::begin
    - std::string::resize
    - EXPECT_THAT
    - push_back
    - std::min
    - erase
    - size
    - absl::MakeSpan
    - std::string::size
    - TypeParam::batch_size
    - GetParam
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, LongLivedSpansMovedHistogram)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1230,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1231,1
    - Dst: TypeParam::objects_per_span
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1233,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1248,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1249,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1251,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::batch_size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1262,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1267,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1269,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1270,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1278,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1280,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1288,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1289,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1297,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1298,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1300,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1301,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1302,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1304,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1305,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1306,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1307,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1308,1
    - Dst: TypeParam::forwarder
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1310,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1320,1
    - Dst: allocate_deallocate_advance
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1321,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1323,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1326,1
    - Dst: TypeParam::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_test.cc:1332,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1335
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - TypeParam::central_freelist
    - TypeParam::objects_per_span
    - begin
    - std::vector::pop_back
    - TypeParam::forwarder
    - EXPECT_EQ
    - std::get<0>
    - std::atomic::load
    - absl::Uniform<size_t>
    - std::vector::push_back
    - push_back
    - std::min
    - std::swap
    - erase
    - absl::SleepFor
    - absl::MakeSpan
    - absl::Uniform
    - std::vector::back
    - std::vector::size
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::batch_size
    - std::vector::empty
    - GetParam
    - allocate_deallocate_advance
    linkageType: ''
    returnType: void
    signature: void TEST_P(CentralFreeListTest, ParallelHandleLongLivedSpans)
  - BBCount: 23
    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: DoGet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: IncUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:206,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:206,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:208,1
    - Dst: MaybeGrowCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:209,1
    - Dst: DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:216,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:217,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:218,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:226,1
    - Dst: MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:227,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:229,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:229,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:230,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:230,1
    - Dst: DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:236,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:240,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:242,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:249,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:251,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:252,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:252,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:256,1
    - Dst: Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:259,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:262,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:268,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:269,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:273,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:277,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:284,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:287,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:288,1
    - Dst: MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:296,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:301,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:303,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:303,1
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:312,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:313,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:316,1
    - Dst: root
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:322,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:328,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:330,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:330,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:337,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:338,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:339,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:344,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:356,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:356,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:369,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:381,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:382,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:384,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:388,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:389,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:390,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:391,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:391,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:393,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:394,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:395,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:396,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:401,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:402,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:403,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:404,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:408,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:409,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:410,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:414,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:418,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:419,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:428,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:429,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:432,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:432,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:436,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:438,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:442,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:442,1
    - Dst: UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:443,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:443,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:445,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:447,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:449,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:450,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:450,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:451,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:451,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:452,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:452,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:456,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:457,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:458,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:460,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:461,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:461,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:462,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:462,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:463,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:463,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:466,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:467,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:469,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:470,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:470,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:474,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 205
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 478
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - HugeRange::len
    - Get
    - safe_ratio
    - IterBackwards
    - max::in_bytes
    - unback_
    - HugeAddressMap::Node*::longest
    - UpdateSize
    - valid
    - TC_ASSERT_GE
    - Remove
    - MaybeGrowCacheLimit
    - in_mib
    - ShrinkCache
    - HugeLength::in_pages
    - Print
    - HugeAddressMap::Node*::next
    - MinCacheLimit
    - first
    - HugeAddressMap::Node*::left
    - HugeLength::in_mib
    - Iter
    - auto*::range
    - Find
    - auto::range
    - HugeAddressMap::Node*::range
    - auto::CreateSubRegion
    - Insert
    - Report
    - std::tie
    - now
    - std::min
    - ceil
    - auto::longest
    - raw_num
    - in_bytes
    - size
    - TC_CHECK_NE
    - absl::ToInt64Milliseconds
    - MaxOverTime
    - CreateSubRegion
    - limit
    - PrintDouble
    - HugeRange::valid
    - max::raw_num
    - min::in_bytes
    - HugeLength::in_bytes
    - PrintInPbtxt
    - HugeAddressMap::Node*::right
    - std::max
    - MinOverTime
    - MaybeShrinkCacheLimit
    - DecUsage
    - auto::PrintI64
    - absl::FDivDuration
    - ABSL_PREDICT_FALSE
    - DoGet
    - min::raw_num
    - root
    - Split
    - Release
    - PrintI64
    - printf
    - NHugePages
    - IncUsage
    - TC_ASSERT
    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:
    - absl::FDivDuration
    - IterBackwards
    - NHugePages
    - std::max
    - ceil
    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:
    - std::min
    - IterBackwards
    - ceil
    - absl::FDivDuration
    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:
    - absl::ToInt64Milliseconds
    - Iter
    - min::raw_num
    - max::raw_num
    - 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
    - absl::ToInt64Milliseconds
    - Iter
    - CreateSubRegion
    - max::in_bytes
    - min::in_bytes
    - auto::CreateSubRegion
    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:
    - tcmalloc_internal::HugeCache::size
    - auto*::range
    - tcmalloc_internal::HugeCache::UpdateSize
    - HugeRange::valid
    - tcmalloc_internal::HugeCache::Get
    - Split
    - HugeLength::raw_num
    - valid
    - Insert
    - std::tie
    - Remove
    - tcmalloc_internal::HugeCache::Find
    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:
    - MaxOverTime
    - tcmalloc_internal::HugeCache::limit
    - now
    - std::min
    - MinOverTime
    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
    - TC_ASSERT_GE
    - Report
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DoGet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: tcmalloc_internal::HugeCache::IncUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:206,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:206,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:208,1
    - Dst: tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - HugeLength
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::HugeCache::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - HugeRange::len
    - tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
    - HugeRange::valid
    - tcmalloc_internal::HugeCache::IncUsage
    - tcmalloc_internal::HugeCache::DoGet
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeCache::Get(HugeLength n, bool* from_released)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:216,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:217,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:218,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:226,1
    - Dst: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:227,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:229,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:229,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:230,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::HugeCache::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::size
    - HugeRange::len
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    - tcmalloc_internal::HugeCache::limit
    - Insert
    - tcmalloc_internal::HugeCache::ShrinkCache
    - now
    - tcmalloc_internal::HugeCache::DecUsage
    linkageType: ''
    returnType: void
    signature: void HugeCache::Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: tcmalloc_internal::HugeCache::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::HugeCache::ReleaseUnbacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::Release
    - HugeRange::len
    - 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:240,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:242,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:249,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: tcmalloc_internal::HugeCache::MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:251,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:252,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::HugeCache::MinCacheLimit
    - tcmalloc_internal::HugeCache::limit
    - tcmalloc_internal::HugeCache::ShrinkCache
    - NHugePages
    - now
    - std::max
    - MinOverTime
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::MaybeShrinkCacheLimit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:256,1
    - Dst: tcmalloc_internal::HugeCache::Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:259,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:262,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:268,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:269,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:273,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:277,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:284,1
    - Dst: tcmalloc_internal::HugeCache::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:287,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - target
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::HugeCache::ShrinkCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeCache::size
    - HugeRange::len
    - TC_CHECK_NE
    - auto*::range
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::HugeCache::Release
    - unback_
    - Split
    - valid
    - TC_ASSERT
    - Insert
    - NHugePages
    - Remove
    - std::tie
    - tcmalloc_internal::HugeCache::Find
    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:296,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:301,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:303,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: tcmalloc_internal::HugeCache::ReleaseCachedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::size
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    - tcmalloc_internal::HugeCache::ShrinkCache
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::ReleaseCachedPages(HugeLength n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:312,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:313,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::HugeCache::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - HugeLength::in_pages
    - HugeAddressMap::Node*::range
    - HugeAddressMap::Node*::next
    - first
    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:322,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:328,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:330,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:330,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:337,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:338,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:339,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:344,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:356,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:356,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 366
    functionName: tcmalloc_internal::HugeCache::Find
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - HugeAddressMap::Node*::left
    - auto::range
    - root
    - HugeAddressMap::Node*::longest
    - HugeAddressMap::Node*::range
    - HugeAddressMap::Node*::right
    - auto::longest
    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:369,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:381,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:382,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:384,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:388,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:389,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:390,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:391,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:391,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:393,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:394,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:395,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:396,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:401,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:402,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:403,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:404,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:408,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:409,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:410,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: tcmalloc_internal::HugeCache::Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::HugeCache::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - raw_num
    - in_bytes
    - tcmalloc_internal::HugeCache::size
    - HugeLength::in_mib
    - absl::ToInt64Milliseconds
    - MaxOverTime
    - tcmalloc_internal::HugeCache::UpdateSize
    - safe_ratio
    - tcmalloc_internal::HugeCache::limit
    - tcmalloc_internal::HugeCache::Print
    - printf
    - Report
    - in_mib
    - MinOverTime
    linkageType: ''
    returnType: void
    signature: void HugeCache::Print(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:418,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:419,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:428,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:429,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:432,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:432,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:436,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:438,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:442,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:442,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:443,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:443,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:445,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:447,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:449,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:450,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:450,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:451,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:451,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:452,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:452,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:456,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:457,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:458,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:460,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:461,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:461,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:462,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:462,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:463,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:463,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:466,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:467,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:469,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:470,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:470,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: tcmalloc_internal::HugeCache::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 475
    functionName: tcmalloc_internal::HugeCache::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 1
    functionsReached:
    - in_bytes
    - tcmalloc_internal::HugeCache::size
    - auto::PrintI64
    - absl::ToInt64Milliseconds
    - MaxOverTime
    - PrintDouble
    - tcmalloc_internal::HugeCache::UpdateSize
    - safe_ratio
    - CreateSubRegion
    - tcmalloc_internal::HugeCache::limit
    - PrintI64
    - HugeLength::in_bytes
    - tcmalloc_internal::HugeCache::PrintInPbtxt
    - Report
    - MinOverTime
    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:
    - absl::FDivDuration
    - IterBackwards
    - NHugePages
    - std::max
    - ceil
    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:
    - std::min
    - IterBackwards
    - ceil
    - absl::FDivDuration
    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:
    - absl::ToInt64Milliseconds
    - Iter
    - min::raw_num
    - max::raw_num
    - 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
    - absl::ToInt64Milliseconds
    - Iter
    - CreateSubRegion
    - max::in_bytes
    - min::in_bytes
    - auto::CreateSubRegion
    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:
    - tcmalloc_internal::HugeCache::size
    - auto*::range
    - tcmalloc_internal::HugeCache::UpdateSize
    - HugeRange::valid
    - tcmalloc_internal::HugeCache::Get
    - Split
    - HugeLength::raw_num
    - valid
    - Insert
    - std::tie
    - Remove
    - tcmalloc_internal::HugeCache::Find
    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:
    - MaxOverTime
    - tcmalloc_internal::HugeCache::limit
    - now
    - std::min
    - MinOverTime
    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
    - TC_ASSERT_GE
    - Report
    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: 6
    functionsReached:
    - Report
    linkageType: ''
    returnType: void
    signature: void HugeCache::UpdateSize(HugeLength size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DoGet
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:202,1
    - Dst: tcmalloc_internal::HugeCache::IncUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:206,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:206,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:208,1
    - Dst: tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - n
    - from_released
    argTypes:
    - HugeLength
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: tcmalloc_internal::HugeCache::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - HugeRange::len
    - tcmalloc_internal::HugeCache::MaybeGrowCacheLimit
    - HugeRange::valid
    - tcmalloc_internal::HugeCache::IncUsage
    - tcmalloc_internal::HugeCache::DoGet
    linkageType: ''
    returnType: HugeRange
    signature: HugeRange HugeCache::Get(HugeLength n, bool* from_released)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:214,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:216,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:217,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:218,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:226,1
    - Dst: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:227,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:229,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:229,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:230,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc_internal::HugeCache::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::HugeCache::size
    - HugeRange::len
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    - tcmalloc_internal::HugeCache::limit
    - Insert
    - tcmalloc_internal::HugeCache::ShrinkCache
    - now
    - tcmalloc_internal::HugeCache::DecUsage
    linkageType: ''
    returnType: void
    signature: void HugeCache::Release(HugeRange r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::HugeCache::DecUsage
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:234,1
    - Dst: tcmalloc_internal::HugeCache::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::HugeCache::ReleaseUnbacked
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::Release
    - HugeRange::len
    - 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:240,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:242,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:246,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:249,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:249,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:250,1
    - Dst: tcmalloc_internal::HugeCache::MinCacheLimit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:251,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:252,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::HugeCache::MinCacheLimit
    - tcmalloc_internal::HugeCache::limit
    - tcmalloc_internal::HugeCache::ShrinkCache
    - NHugePages
    - now
    - std::max
    - MinOverTime
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::MaybeShrinkCacheLimit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:256,1
    - Dst: tcmalloc_internal::HugeCache::Find
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:259,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:259,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:260,1
    - Dst: auto*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:261,1
    - Dst: Remove
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:262,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:268,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:269,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: Split
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:271,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: valid
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:272,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:273,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:277,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: unback_
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:280,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:283,1
    - Dst: Insert
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:284,1
    - Dst: tcmalloc_internal::HugeCache::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:287,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - target
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: tcmalloc_internal::HugeCache::ShrinkCache
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::HugeCache::size
    - HugeRange::len
    - TC_CHECK_NE
    - auto*::range
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::HugeCache::Release
    - unback_
    - Split
    - valid
    - TC_ASSERT
    - Insert
    - NHugePages
    - Remove
    - std::tie
    - tcmalloc_internal::HugeCache::Find
    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:296,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:300,1
    - Dst: tcmalloc_internal::HugeCache::ShrinkCache
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:301,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:303,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: tcmalloc_internal::HugeCache::ReleaseCachedPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::HugeCache::size
    - tcmalloc_internal::HugeCache::UpdateSize
    - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
    - tcmalloc_internal::HugeCache::ShrinkCache
    - NHugePages
    linkageType: ''
    returnType: HugeLength
    signature: HugeLength HugeCache::ReleaseCachedPages(HugeLength n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:311,1
    - Dst: HugeAddressMap::Node*::next
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:312,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:313,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::HugeCache::AddSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 0
    functionsReached:
    - HugeLength::in_pages
    - HugeAddressMap::Node*::range
    - HugeAddressMap::Node*::next
    - first
    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:322,1
    - Dst: HugeAddressMap::Node*::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:328,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:329,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:330,1
    - Dst: HugeAddressMap::Node*::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:330,1
    - Dst: HugeAddressMap::Node*::left
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:337,1
    - Dst: HugeAddressMap::Node*::right
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:338,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:339,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:344,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:350,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: auto::longest
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:351,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:356,1
    - Dst: auto::range
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:356,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - n
    argTypes:
    - HugeLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 366
    functionName: tcmalloc_internal::HugeCache::Find
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 4
    functionsReached:
    - HugeAddressMap::Node*::left
    - auto::range
    - root
    - HugeAddressMap::Node*::longest
    - HugeAddressMap::Node*::range
    - HugeAddressMap::Node*::right
    - auto::longest
    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:369,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:370,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:381,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:382,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:384,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:387,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:388,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:389,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:390,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:391,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:391,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:393,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:394,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:395,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:396,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:398,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:401,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:402,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:403,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:404,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:406,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:408,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:409,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:410,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: HugeLength::in_mib
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:412,1
    - Dst: tcmalloc_internal::HugeCache::Print
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::HugeCache::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - raw_num
    - in_bytes
    - tcmalloc_internal::HugeCache::size
    - HugeLength::in_mib
    - absl::ToInt64Milliseconds
    - MaxOverTime
    - tcmalloc_internal::HugeCache::UpdateSize
    - safe_ratio
    - tcmalloc_internal::HugeCache::limit
    - tcmalloc_internal::HugeCache::Print
    - printf
    - Report
    - in_mib
    - MinOverTime
    linkageType: ''
    returnType: void
    signature: void HugeCache::Print(Printer& out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:418,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:419,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:428,1
    - Dst: safe_ratio
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:429,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:432,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:432,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: tcmalloc_internal::HugeCache::limit
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:434,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:436,1
    - Dst: PrintDouble
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:438,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:440,1
    - Dst: PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:442,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:442,1
    - Dst: tcmalloc_internal::HugeCache::UpdateSize
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:443,1
    - Dst: tcmalloc_internal::HugeCache::size
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:443,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:445,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:446,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:447,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:449,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:450,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:450,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:451,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:451,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:452,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:452,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:456,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:457,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:458,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:460,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:461,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:461,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:462,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:462,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:463,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:463,1
    - Dst: MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:466,1
    - Dst: MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:467,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:469,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:470,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:470,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:471,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: HugeLength::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:472,1
    - Dst: tcmalloc_internal::HugeCache::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_cache.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - ' hpaa'
    argTypes:
    - PbtxtRegion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 475
    functionName: tcmalloc_internal::HugeCache::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache.cc
    functionUses: 2
    functionsReached:
    - in_bytes
    - tcmalloc_internal::HugeCache::size
    - auto::PrintI64
    - absl::ToInt64Milliseconds
    - MaxOverTime
    - PrintDouble
    - tcmalloc_internal::HugeCache::UpdateSize
    - safe_ratio
    - CreateSubRegion
    - tcmalloc_internal::HugeCache::limit
    - PrintI64
    - HugeLength::in_bytes
    - tcmalloc_internal::HugeCache::PrintInPbtxt
    - Report
    - MinOverTime
    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: 512
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 512
    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:44,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:47,1
    - Dst: MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:50,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:64,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:68,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:68,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:74,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:76,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:78,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:85,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:88,1
    - Dst: MemoryTagFromSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:95,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:96,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:105,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:122,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:134,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:140,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:140,1
    - Dst: TC_ASSERT_LE
      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: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 184
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - ReportMismatchedSizeClass
    - PageIdContaining
    - sizemap
    - TC_ASSERT_EQ
    - Span*::donated
    - active_partitions
    - IsExpandedSizeClass
    - first_page
    - ReturnAllocsToPageHeap
    - Prefetch
    - Length
    - ReportDoubleFree
    - Range
    - MemoryTagFromSizeClass
    - TC_ASSERT_NE
    - pagemap
    - size
    - reinterpret_cast<void*>
    - absl::MakeSpan
    - invalid_span
    - Span*::num_pages
    - PrefetchW
    - tcmalloc_internal::Span::Delete
    - ReportCorruptedFree
    - GetMemoryTag
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - MultiNormalTag
    - page_allocator
    - AccessDensity
    - Span*::first_page
    - start_address
    - ReturnSpansToPageHeap
    - TC_ASSERT
    - TC_ASSERT_LE
    - Span*::start_address
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:44,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:47,1
    - Dst: MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - IsExpandedSizeClass
    - MultiNormalTag
    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: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:68,1
    - 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_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    linkageType: ''
    returnType: Length
    signature: Length StaticForwarder::class_to_pages(int size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:74,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:76,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:78,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:85,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 32
    functionsReached:
    - pagemap
    - ReportCorruptedFree
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - ReportMismatchedSizeClass
    - PageIdContaining
    - invalid_span
    - Prefetch
    - ReportDoubleFree
    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:95,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:96,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:105,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,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: 113
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 16
    functionsReached:
    - pagemap
    - GetMemoryTag
    - ABSL_PREDICT_FALSE
    - page_allocator
    - Length
    - AccessDensity
    - Span*::num_pages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - MemoryTagFromSizeClass
    - 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:121,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - GetMemoryTag
    - page_allocator
    - start_address
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    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:140,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:140,1
    - Dst: TC_ASSERT_LE
      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: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - objects_per_span
    - free_spans
    argTypes:
    - size_t
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 24
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_EQ
    - first_page
    - ReturnAllocsToPageHeap
    - Range
    - TC_ASSERT_NE
    - pagemap
    - reinterpret_cast<void*>
    - absl::MakeSpan
    - Span*::num_pages
    - PrefetchW
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - AccessDensity
    - Span*::first_page
    - start_address
    - ReturnSpansToPageHeap
    - absl::Span<Span*>::size
    - Span*::donated
    - Span*::start_address
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::DeallocateSpans(size_t objects_per_span,\n                                      absl::Span<Span*>
      free_spans)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:44,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:47,1
    - Dst: MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - IsExpandedSizeClass
    - MultiNormalTag
    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: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:68,1
    - 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_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    linkageType: ''
    returnType: Length
    signature: Length StaticForwarder::class_to_pages(int size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:74,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:76,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:78,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:85,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 32
    functionsReached:
    - pagemap
    - ReportCorruptedFree
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - ReportMismatchedSizeClass
    - PageIdContaining
    - invalid_span
    - Prefetch
    - ReportDoubleFree
    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:95,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:96,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:105,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,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: 113
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 16
    functionsReached:
    - pagemap
    - GetMemoryTag
    - ABSL_PREDICT_FALSE
    - page_allocator
    - Length
    - AccessDensity
    - Span*::num_pages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - MemoryTagFromSizeClass
    - 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:121,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - GetMemoryTag
    - page_allocator
    - start_address
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    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:140,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:140,1
    - Dst: TC_ASSERT_LE
      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: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - objects_per_span
    - free_spans
    argTypes:
    - size_t
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 24
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_EQ
    - first_page
    - ReturnAllocsToPageHeap
    - Range
    - TC_ASSERT_NE
    - pagemap
    - reinterpret_cast<void*>
    - absl::MakeSpan
    - Span*::num_pages
    - PrefetchW
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - AccessDensity
    - Span*::first_page
    - start_address
    - ReturnSpansToPageHeap
    - absl::Span<Span*>::size
    - Span*::donated
    - Span*::start_address
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::DeallocateSpans(size_t objects_per_span,\n                                      absl::Span<Span*>
      free_spans)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:44,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:47,1
    - Dst: MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - IsExpandedSizeClass
    - MultiNormalTag
    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: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:68,1
    - 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_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    linkageType: ''
    returnType: Length
    signature: Length StaticForwarder::class_to_pages(int size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:74,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:76,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:78,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:85,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 32
    functionsReached:
    - pagemap
    - ReportCorruptedFree
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - ReportMismatchedSizeClass
    - PageIdContaining
    - invalid_span
    - Prefetch
    - ReportDoubleFree
    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:95,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:96,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:105,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,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: 113
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 16
    functionsReached:
    - pagemap
    - GetMemoryTag
    - ABSL_PREDICT_FALSE
    - page_allocator
    - Length
    - AccessDensity
    - Span*::num_pages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - MemoryTagFromSizeClass
    - 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:121,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - GetMemoryTag
    - page_allocator
    - start_address
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    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:140,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:140,1
    - Dst: TC_ASSERT_LE
      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: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - objects_per_span
    - free_spans
    argTypes:
    - size_t
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 24
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_EQ
    - first_page
    - ReturnAllocsToPageHeap
    - Range
    - TC_ASSERT_NE
    - pagemap
    - reinterpret_cast<void*>
    - absl::MakeSpan
    - Span*::num_pages
    - PrefetchW
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - AccessDensity
    - Span*::first_page
    - start_address
    - ReturnSpansToPageHeap
    - absl::Span<Span*>::size
    - Span*::donated
    - Span*::start_address
    linkageType: ''
    returnType: void
    signature: "void StaticForwarder::DeallocateSpans(size_t objects_per_span,\n                                      absl::Span<Span*>
      free_spans)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:44,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:47,1
    - Dst: MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: tcmalloc_internal::central_freelist_internal::MemoryTagFromSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    - IsExpandedSizeClass
    - MultiNormalTag
    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: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:68,1
    - 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_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - Length
    - sizemap
    linkageType: ''
    returnType: Length
    signature: Length StaticForwarder::class_to_pages(int size_class)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<void*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:74,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:76,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:78,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:79,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:80,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:81,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:82,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:84,1
    - Dst: ReportMismatchedSizeClass
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:85,1
    - Dst: Prefetch
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - batch
    - spans
    - expected_size_class
    argTypes:
    - absl::Span<void*>
    - Span**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 32
    functionsReached:
    - pagemap
    - ReportCorruptedFree
    - absl::Span<void*>::size
    - ABSL_PREDICT_FALSE
    - ReportMismatchedSizeClass
    - PageIdContaining
    - invalid_span
    - Prefetch
    - ReportDoubleFree
    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:95,1
    - Dst: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:96,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:100,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:102,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:104,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:105,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:108,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:109,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:111,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: 113
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 16
    functionsReached:
    - pagemap
    - GetMemoryTag
    - ABSL_PREDICT_FALSE
    - page_allocator
    - Length
    - AccessDensity
    - Span*::num_pages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - MemoryTagFromSizeClass
    - 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:121,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:121,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: tcmalloc_internal::central_freelist_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    - GetMemoryTag
    - page_allocator
    - start_address
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    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:140,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:140,1
    - Dst: TC_ASSERT_LE
      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: AccessDensity
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:174,1
    - Dst: ReturnAllocsToPageHeap
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    - Dst: absl::Span<Span*>::size
      Src: /src/tcmalloc/tcmalloc/central_freelist.cc:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - objects_per_span
    - free_spans
    argTypes:
    - size_t
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: tcmalloc_internal::central_freelist_internal::StaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist.cc
    functionUses: 24
    functionsReached:
    - TC_ASSERT_LE
    - TC_ASSERT_EQ
    - first_page
    - ReturnAllocsToPageHeap
    - Range
    - TC_ASSERT_NE
    - pagemap
    - reinterpret_cast<void*>
    - absl::MakeSpan
    - Span*::num_pages
    - PrefetchW
    - tcmalloc_internal::Span::Delete
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - AccessDensity
    - Span*::first_page
    - start_address
    - ReturnSpansToPageHeap
    - absl::Span<Span*>::size
    - Span*::donated
    - 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:56,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/peak_heap_tracker.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 88
    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: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    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:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    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:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    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:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    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:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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:42,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:45,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:46,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:57,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:64,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:73,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:74,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:78,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:95,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:98,1
    - Dst: Env::Env
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:99,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:105,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::BM_Multithreaded
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - std::vector::data
    - absl::MakeSpan
    - Env::Env
    - sizemap
    - thread_index
    - benchmark::DoNotOptimize
    - CppPolicy
    - Env*::central_freelist
    linkageType: ''
    returnType: void
    signature: void BM_Multithreaded(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:125,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:128,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:129,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:140,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:143,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:144,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:145,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:149,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:152,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:157,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:180,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:192,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:193,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:201,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:208,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:211,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:213,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:217,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:220,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:221,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:225,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:226,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:231,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:42,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:45,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:46,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:57,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:64,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:73,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:74,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:78,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:95,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:98,1
    - Dst: Env::Env
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:99,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:105,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::BM_Multithreaded
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - std::vector::data
    - absl::MakeSpan
    - Env::Env
    - sizemap
    - thread_index
    - benchmark::DoNotOptimize
    - CppPolicy
    - Env*::central_freelist
    linkageType: ''
    returnType: void
    signature: void BM_Multithreaded(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:125,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:128,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:129,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:140,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:143,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:144,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:145,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:149,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:152,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:157,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:180,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:192,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:193,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:201,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:208,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:211,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:213,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:217,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:220,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:221,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:225,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:226,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:231,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:42,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:45,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:46,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:57,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:64,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:73,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:74,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:78,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:95,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:98,1
    - Dst: Env::Env
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:99,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:105,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::BM_Multithreaded
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - std::vector::data
    - absl::MakeSpan
    - Env::Env
    - sizemap
    - thread_index
    - benchmark::DoNotOptimize
    - CppPolicy
    - Env*::central_freelist
    linkageType: ''
    returnType: void
    signature: void BM_Multithreaded(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:125,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:128,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:129,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:140,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:143,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:144,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:145,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:149,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:152,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:157,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:180,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:192,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:193,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:201,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:208,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:211,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:213,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:217,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:220,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:221,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:225,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:226,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:231,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:42,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:45,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:46,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:57,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:64,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:73,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:74,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:78,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:95,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:98,1
    - Dst: Env::Env
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:99,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:105,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::BM_Multithreaded
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - std::vector::data
    - absl::MakeSpan
    - Env::Env
    - sizemap
    - thread_index
    - benchmark::DoNotOptimize
    - CppPolicy
    - Env*::central_freelist
    linkageType: ''
    returnType: void
    signature: void BM_Multithreaded(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:125,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:128,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:129,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:140,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:143,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:144,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:145,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:149,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:152,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:157,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:180,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:192,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:193,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:201,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:208,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:211,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:213,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:217,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:220,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:221,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:225,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:226,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:231,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:42,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:45,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:46,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:57,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:64,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:73,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:74,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:78,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:95,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:98,1
    - Dst: Env::Env
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:99,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:105,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::BM_Multithreaded
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - std::vector::data
    - absl::MakeSpan
    - Env::Env
    - sizemap
    - thread_index
    - benchmark::DoNotOptimize
    - CppPolicy
    - Env*::central_freelist
    linkageType: ''
    returnType: void
    signature: void BM_Multithreaded(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:125,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:128,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:129,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:140,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:143,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:144,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:145,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:149,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:152,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:157,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:180,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:192,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:193,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:201,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:208,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:211,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:213,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:217,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:220,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:221,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:225,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:226,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:231,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:42,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:45,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:46,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:57,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:64,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:73,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:74,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:78,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:95,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:98,1
    - Dst: Env::Env
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:99,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:105,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::BM_Multithreaded
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - std::vector::data
    - absl::MakeSpan
    - Env::Env
    - sizemap
    - thread_index
    - benchmark::DoNotOptimize
    - CppPolicy
    - Env*::central_freelist
    linkageType: ''
    returnType: void
    signature: void BM_Multithreaded(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:125,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:128,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:129,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:140,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:143,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:144,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:145,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:149,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:152,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:157,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:180,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:192,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:193,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:201,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:208,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:211,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:213,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:217,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:220,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:221,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:225,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:226,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:231,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:42,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:45,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:46,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:57,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:64,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:73,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:74,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:78,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:95,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:98,1
    - Dst: Env::Env
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:99,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:105,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::BM_Multithreaded
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - std::vector::data
    - absl::MakeSpan
    - Env::Env
    - sizemap
    - thread_index
    - benchmark::DoNotOptimize
    - CppPolicy
    - Env*::central_freelist
    linkageType: ''
    returnType: void
    signature: void BM_Multithreaded(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:125,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:128,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:129,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:140,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:143,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:144,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:145,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:149,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:152,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:157,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:180,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:192,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:193,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:201,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:208,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:211,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:213,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:217,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:220,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:221,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:225,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:226,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:231,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:42,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:44,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:45,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:46,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:57,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:62,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:64,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:70,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:73,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:74,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:78,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::BM_Populate
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_Populate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:91,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:93,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:94,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:95,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:98,1
    - Dst: Env::Env
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:99,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:105,1
    - Dst: Env*::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:106,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: tcmalloc::tcmalloc_internal::BM_Multithreaded
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - range
    - std::vector::data
    - absl::MakeSpan
    - Env::Env
    - sizemap
    - thread_index
    - benchmark::DoNotOptimize
    - CppPolicy
    - Env*::central_freelist
    linkageType: ''
    returnType: void
    signature: void BM_Multithreaded(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:125,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:127,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:128,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:129,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:140,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:143,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:144,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:145,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:149,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:152,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:153,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:157,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:158,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: tcmalloc::tcmalloc_internal::BM_MixAndReturn
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_MixAndReturn(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:177,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:179,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:180,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:181,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:191,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:192,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:193,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:201,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:208,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:211,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:212,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:213,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:217,1
    - Dst: absl::c_shuffle
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:220,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:221,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:225,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:226,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:231,1
    - Dst: Env::central_freelist
      Src: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::BM_SpanReuse
    functionSourceFile: /src/tcmalloc/tcmalloc/central_freelist_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - range
    - absl::MakeSpan
    - Env::central_freelist
    - sizemap
    - absl::c_shuffle
    - KeepRunningBatch
    - PauseTiming
    - CppPolicy
    - std::min
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_SpanReuse(benchmark::State& state)
  - BBCount: 6
    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: invalid_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:68,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:70,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:71,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:71,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:75,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:80,1
    - Dst: std::make_unique<StackTraceTable>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:87,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:88,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:88,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:89,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:91,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:98,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:98,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:99,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:100,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:101,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:102,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:106,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 110
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - ThreadCache*::Deallocate
    - cpu_cache
    - auto::SetStartTime
    - invalid_span
    - PageIdContaining
    - sampled_allocation_recorder
    - ABSL_PREDICT_TRUE
    - UsePerCpuCache
    - auto::AddTrace
    - absl::Now
    - absl::Span<void*>
    - Span*::Fragmentation
    - std::make_unique<StackTraceTable>
    - transfer_cache
    - ThreadCache::GetCacheIfPresent
    - TC_ASSERT_NE
    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: invalid_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:68,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:70,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:71,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:71,1
    - Dst: Span*::Fragmentation
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:75,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - Static
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 84
    functionName: DumpFragmentationProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - invalid_span
    - PageIdContaining
    - sampled_allocation_recorder
    - auto::AddTrace
    - Span*::Fragmentation
    - std::make_unique<StackTraceTable>
    - TC_ASSERT_NE
    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:87,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:88,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:88,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:89,1
    - Dst: auto::AddTrace
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - Static
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: DumpHeapProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 0
    functionsReached:
    - auto::SetStartTime
    - sampled_allocation_recorder
    - auto::AddTrace
    - absl::Now
    - std::make_unique<StackTraceTable>
    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:98,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:98,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:99,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:100,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:101,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:102,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:106,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/allocation_sampling.cc:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' state'
    - ptr
    - size_class
    argTypes:
    - Static
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: FreeProxyObject
    functionSourceFile: /src/tcmalloc/tcmalloc/allocation_sampling.cc
    functionUses: 3
    functionsReached:
    - ThreadCache*::Deallocate
    - cpu_cache
    - UsePerCpuCache
    - ABSL_PREDICT_TRUE
    - transfer_cache
    - ThreadCache::GetCacheIfPresent
    - absl::Span<void*>
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE FreeProxyObject(Static& state, void* ptr,\n
      \                                            size_t size_class)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/experiment.cc:91,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:92,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:93,1
    - Dst: thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:109,1
    - Dst: substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:111,1
    - Dst: substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:118,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/experiment.cc:127,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/experiment.cc:130,1
    - Dst: ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:133,1
    - Dst: LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:135,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:136,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/experiment.cc:142,1
    - Dst: LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:144,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:145,1
    - Dst: IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:153,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:154,1
    - Dst: ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:160,1
    - Dst: LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:162,1
    - Dst: IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:162,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:163,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:177,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:183,1
    - Dst: IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:193,1
    - Dst: HasBrittleTestFailures
      Src: /src/tcmalloc/tcmalloc/experiment.cc:194,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:202,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:203,1
    - Dst: assert
      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: assert
      Src: /src/tcmalloc/tcmalloc/experiment.cc:225,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:225,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/experiment.cc:226,1
    - Dst: tcmalloc_internal::GetSelectedExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:228,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:228,1
    - Dst: callback
      Src: /src/tcmalloc/tcmalloc/experiment.cc:244,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/experiment.cc:244,1
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:250,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/experiment.cc:251,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (exp < Experiment::kMaxExperimentID)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    - condition: (active.empty() && disabled.empty())
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    - condition: (static_cast<int>(exp) >= 0)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    - condition: (!buffer[static_cast<int>(experiment_id)])
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    constantsTouched: []
    func_position:
      end: 255
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 255
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached:
    - WalkExperiments
    - thread_safe_getenv
    - memset
    - std::fill
    - f
    - find
    - absl::StrCat
    - substr
    - absl::base_internal::CycleClock::Now
    - SelectExperiments
    - static_cast<uint64_t>
    - absl::base_internal::LowLevelCallOnce
    - static_cast<int>
    - ParseExperiments
    - callback
    - LookupExperimentID
    - empty
    - HasBrittleTestFailures
    - IsExperimentActive
    - assert
    - IsCompilerExperiment
    - absl::HashOf
    - tcmalloc_internal::GetSelectedExperiments
    - absl::StrContains
    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: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    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:
    - ABSL_ATTRIBUTE_UNUSED
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::IsCompilerExperiment
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompilerExperiment(Experiment exp ABSL_ATTRIBUTE_UNUSED)
  - 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: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    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:91,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:92,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:93,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: tcmalloc_internal::SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::GetSelectedExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::thread_safe_getenv
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::SelectExperiments
    linkageType: ''
    returnType: bool
    signature: bool * GetSelectedExperiments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:109,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:111,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - labels
    - f
    argTypes:
    - absl::string_view
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 120
    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: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    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:
    - ABSL_ATTRIBUTE_UNUSED
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::IsCompilerExperiment
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompilerExperiment(Experiment exp ABSL_ATTRIBUTE_UNUSED)
  - 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: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    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:91,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:92,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:93,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: tcmalloc_internal::SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::GetSelectedExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::thread_safe_getenv
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::SelectExperiments
    linkageType: ''
    returnType: bool
    signature: bool * GetSelectedExperiments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:109,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:111,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - labels
    - f
    argTypes:
    - absl::string_view
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 120
    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:127,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/experiment.cc:130,1
    - Dst: tcmalloc_internal::ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:133,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:135,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:136,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/experiment.cc:142,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:144,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:145,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:153,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:154,1
    - Dst: tcmalloc_internal::ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:160,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:162,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:162,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:163,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:177,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:183,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:193,1
    - Dst: tcmalloc_internal::HasBrittleTestFailures
      Src: /src/tcmalloc/tcmalloc/experiment.cc:194,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:202,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:203,1
    - Dst: assert
      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:
    - condition: (!buffer[static_cast<int>(experiment_id)])
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    - condition: (active.empty() && disabled.empty())
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    constantsTouched: []
    func_position:
      end: 218
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::SelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - memset
    - tcmalloc_internal::IsCompilerExperiment
    - absl::base_internal::CycleClock::Now
    - std::fill
    - tcmalloc_internal::HasBrittleTestFailures
    - tcmalloc_internal::ParseExperiments
    - absl::HashOf
    - tcmalloc_internal::LookupExperimentID
    - static_cast<uint64_t>
    - assert
    - absl::string_view::empty
    - absl::StrContains
    linkageType: ''
    returnType: bool
    signature: "bool * SelectExperiments(bool* buffer, absl::string_view test_target,\n
      \                             absl::string_view active,\n                              absl::string_view
      disabled, bool unset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    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:
    - ABSL_ATTRIBUTE_UNUSED
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::IsCompilerExperiment
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompilerExperiment(Experiment exp ABSL_ATTRIBUTE_UNUSED)
  - 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: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    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:91,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:92,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:93,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: tcmalloc_internal::SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::GetSelectedExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::thread_safe_getenv
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::SelectExperiments
    linkageType: ''
    returnType: bool
    signature: bool * GetSelectedExperiments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:109,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:111,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - labels
    - f
    argTypes:
    - absl::string_view
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 120
    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: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    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:
    - ABSL_ATTRIBUTE_UNUSED
    argTypes:
    - Experiment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::IsCompilerExperiment
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsCompilerExperiment(Experiment exp ABSL_ATTRIBUTE_UNUSED)
  - 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: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    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:91,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:92,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:93,1
    - Dst: tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/experiment.cc:94,1
    - Dst: tcmalloc_internal::SelectExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::GetSelectedExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::thread_safe_getenv
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::SelectExperiments
    linkageType: ''
    returnType: bool
    signature: bool * GetSelectedExperiments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/experiment.cc:109,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:111,1
    - Dst: absl::string_view::substr
      Src: /src/tcmalloc/tcmalloc/experiment.cc:114,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/experiment.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - labels
    - f
    argTypes:
    - absl::string_view
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 120
    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:127,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/experiment.cc:130,1
    - Dst: tcmalloc_internal::ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:133,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:135,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:136,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/experiment.cc:142,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:144,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:145,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:153,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:154,1
    - Dst: tcmalloc_internal::ParseExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:160,1
    - Dst: tcmalloc_internal::LookupExperimentID
      Src: /src/tcmalloc/tcmalloc/experiment.cc:162,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:162,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:163,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:177,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/experiment.cc:180,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/experiment.cc:182,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:183,1
    - Dst: tcmalloc_internal::IsCompilerExperiment
      Src: /src/tcmalloc/tcmalloc/experiment.cc:193,1
    - Dst: tcmalloc_internal::HasBrittleTestFailures
      Src: /src/tcmalloc/tcmalloc/experiment.cc:194,1
    - Dst: absl::HashOf
      Src: /src/tcmalloc/tcmalloc/experiment.cc:202,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:203,1
    - Dst: assert
      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:
    - condition: (!buffer[static_cast<int>(experiment_id)])
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    - condition: (active.empty() && disabled.empty())
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    constantsTouched: []
    func_position:
      end: 218
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 218
    functionName: tcmalloc_internal::SelectExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - memset
    - tcmalloc_internal::IsCompilerExperiment
    - absl::base_internal::CycleClock::Now
    - std::fill
    - tcmalloc_internal::HasBrittleTestFailures
    - tcmalloc_internal::ParseExperiments
    - absl::HashOf
    - tcmalloc_internal::LookupExperimentID
    - static_cast<uint64_t>
    - assert
    - absl::string_view::empty
    - absl::StrContains
    linkageType: ''
    returnType: bool
    signature: "bool * SelectExperiments(bool* buffer, absl::string_view test_target,\n
      \                             absl::string_view active,\n                              absl::string_view
      disabled, bool unset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/experiment.cc:225,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:225,1
    - Dst: assert
      Src: /src/tcmalloc/tcmalloc/experiment.cc:226,1
    - Dst: tcmalloc_internal::GetSelectedExperiments
      Src: /src/tcmalloc/tcmalloc/experiment.cc:228,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/experiment.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exp
    argTypes:
    - Experiment
    assertStmts:
    - condition: (static_cast<int>(exp) >= 0)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    - condition: (exp < Experiment::kMaxExperimentID)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/tcmalloc/tcmalloc/experiment.cc
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: IsExperimentActive
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 18
    functionsReached:
    - assert
    - tcmalloc_internal::GetSelectedExperiments
    - static_cast<int>
    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: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    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:244,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/experiment.cc:244,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: 246
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: WalkExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 1
    functionsReached:
    - IsExperimentActive
    - callback
    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:250,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/experiment.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::map<std::string, MallocExtension::Property>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: MallocExtension_Internal_GetExperiments
    functionSourceFile: /src/tcmalloc/tcmalloc/experiment.cc
    functionUses: 2
    functionsReached:
    - WalkExperiments
    - absl::StrCat
    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: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FuzzSizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - CHECK_GT
    - CHECK_LT
    - absl::MakeSpan
    - CHECK_NE
    - SizeMap::SizeClass
    - SizeMap::class_to_size
    - CHECK_LE
    - empty
    - CppPolicy
    - reinterpret_cast<const SizeClassInfo*>
    - SizeMap::Init
    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: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FuzzSizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - CHECK_GT
    - CHECK_LT
    - absl::MakeSpan
    - CHECK_NE
    - SizeMap::SizeClass
    - SizeMap::class_to_size
    - CHECK_LE
    - empty
    - CppPolicy
    - reinterpret_cast<const SizeClassInfo*>
    - SizeMap::Init
    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: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FuzzSizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - CHECK_GT
    - CHECK_LT
    - absl::MakeSpan
    - CHECK_NE
    - SizeMap::SizeClass
    - SizeMap::class_to_size
    - CHECK_LE
    - empty
    - CppPolicy
    - reinterpret_cast<const SizeClassInfo*>
    - SizeMap::Init
    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: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: tcmalloc::tcmalloc_internal::FuzzSizeMap
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_fuzz.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - CHECK_GT
    - CHECK_LT
    - absl::MakeSpan
    - CHECK_NE
    - SizeMap::SizeClass
    - SizeMap::class_to_size
    - CHECK_LE
    - empty
    - CppPolicy
    - reinterpret_cast<const SizeClassInfo*>
    - SizeMap::Init
    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:
    - TCMalloc_Internal_ForceCpuCacheActivation
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - benchmark::DoNotOptimize
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - EXPECT_FALSE
    - EXPECT_TRUE
    - UsedBytes
    - absl::SleepFor
    - cpu_cache
    - ASSERT_NE
    - absl::Uniform
    - CacheLimit
    - CpuCacheActive
    - absl::Notification::HasBeenNotified
    - Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - TCMalloc_Internal_ForceCpuCacheActivation
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - benchmark::DoNotOptimize
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - EXPECT_FALSE
    - EXPECT_TRUE
    - UsedBytes
    - absl::SleepFor
    - cpu_cache
    - ASSERT_NE
    - absl::Uniform
    - CacheLimit
    - CpuCacheActive
    - absl::Notification::HasBeenNotified
    - Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - TCMalloc_Internal_ForceCpuCacheActivation
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - benchmark::DoNotOptimize
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - EXPECT_FALSE
    - EXPECT_TRUE
    - UsedBytes
    - absl::SleepFor
    - cpu_cache
    - ASSERT_NE
    - absl::Uniform
    - CacheLimit
    - CpuCacheActive
    - absl::Notification::HasBeenNotified
    - Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - TCMalloc_Internal_ForceCpuCacheActivation
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - benchmark::DoNotOptimize
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - EXPECT_FALSE
    - EXPECT_TRUE
    - UsedBytes
    - absl::SleepFor
    - cpu_cache
    - ASSERT_NE
    - absl::Uniform
    - CacheLimit
    - CpuCacheActive
    - absl::Notification::HasBeenNotified
    - Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - TCMalloc_Internal_ForceCpuCacheActivation
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - benchmark::DoNotOptimize
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - EXPECT_FALSE
    - EXPECT_TRUE
    - UsedBytes
    - absl::SleepFor
    - cpu_cache
    - ASSERT_NE
    - absl::Uniform
    - CacheLimit
    - CpuCacheActive
    - absl::Notification::HasBeenNotified
    - Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - TCMalloc_Internal_ForceCpuCacheActivation
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - benchmark::DoNotOptimize
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - EXPECT_FALSE
    - EXPECT_TRUE
    - UsedBytes
    - absl::SleepFor
    - cpu_cache
    - ASSERT_NE
    - absl::Uniform
    - CacheLimit
    - CpuCacheActive
    - absl::Notification::HasBeenNotified
    - Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - TCMalloc_Internal_ForceCpuCacheActivation
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - benchmark::DoNotOptimize
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - EXPECT_FALSE
    - EXPECT_TRUE
    - UsedBytes
    - absl::SleepFor
    - cpu_cache
    - ASSERT_NE
    - absl::Uniform
    - CacheLimit
    - CpuCacheActive
    - absl::Notification::HasBeenNotified
    - Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    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:
    - TCMalloc_Internal_ForceCpuCacheActivation
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - benchmark::DoNotOptimize
    - TotalUsedBytes
    - NumCPUs
    - absl::Notification::Notify
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - EXPECT_FALSE
    - EXPECT_TRUE
    - UsedBytes
    - absl::SleepFor
    - cpu_cache
    - ASSERT_NE
    - absl::Uniform
    - CacheLimit
    - CpuCacheActive
    - absl::Notification::HasBeenNotified
    - Capacity
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    linkageType: ''
    returnType: void
    signature: void TEST(CpuCacheActivateTest, GlobalInstance)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:64,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:67,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:71,1
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:75,1
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:78,1
    - Dst: huge_region_option
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:128,1
    - Dst: tcmalloc_internal::Parameters::huge_cache_release_time
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:129,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:150,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:220,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:225,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:229,1
    - Dst: free_backed
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:239,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:269,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:274,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:276,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:290,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:295,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:298,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:314,1
    - Dst: forwarder_::CollapsePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:317,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:335,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:359,1
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:363,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:377,1
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:380,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:486,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:487,1
    - Dst: GetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:497,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    - Dst: SetHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:506,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:513,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:519,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:520,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:522,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:524,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:533,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:534,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:551,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:552,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:553,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:556,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:557,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:572,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:578,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:579,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:591,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:592,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:599,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:608,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:622,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:624,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:626,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:627,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:637,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:638,1
    - Dst: AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:643,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:644,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:656,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:663,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:665,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:672,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:674,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:675,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: SetTracker
      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: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:686,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:689,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:703,1
    - Dst: Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:709,1
    - Dst: Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:712,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: AllocSmall
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:726,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:731,1
    - Dst: AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:732,1
    - Dst: AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:744,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:745,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:755,1
    - Dst: Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:758,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:761,1
    - Dst: Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:764,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:774,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:778,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:779,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:789,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:800,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:800,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:803,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:805,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:810,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: auto::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: auto::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:827,1
    - Dst: auto::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:828,1
    - Dst: auto::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:831,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:833,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:841,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: ClearSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:856,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:870,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:871,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:876,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:895,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:896,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:903,1
    - Dst: ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:905,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:911,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:927,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:939,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:944,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:952,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:953,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:954,1
    - Dst: GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:966,1
    - Dst: GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:973,1
    - Dst: SmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:980,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:987,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:988,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:989,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1003,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1004,1
    - Dst: hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1011,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1017,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1019,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1025,1
    - Dst: use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1033,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1035,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1038,1
    - Dst: ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1039,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1050,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1051,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    - Dst: BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1058,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1059,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1060,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1061,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1068,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1079,1
    - Dst: GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1080,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1081,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1082,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1088,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1090,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1091,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1093,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1097,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1099,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1103,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1104,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1115,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1118,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1120,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1121,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1124,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1127,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1128,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1138,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1139,1
    - Dst: HugeRegion*::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1142,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1148,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1149,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1151,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1152,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1158,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1160,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1173,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    - Dst: AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1183,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1185,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1205,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1207,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1215,1
    - Dst: GetRecordedReleases
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1222,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1231,1
    - Dst: hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1242,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 386
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 1253
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - FinalizeType::first_page
    - BytesToLengthFloor
    - forwarder_::ReleasePages
    - TC_CHECK_GT
    - GetRecordedReleases
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - AllocLarge
    - AllocatePages
    - UseHugeRegionMoreOften
    - TC_ASSERT_EQ
    - Print
    - forwarder_::SetAnonVmaName
    - BreakdownStats
    - BytesToMiB
    - TreatHugepageTrackers
    - GetTracker
    - auto::set_donated
    - Contribute
    - AddRegion
    - GetSpanStats
    - arena
    - ReportDoubleFree
    - LargeSpanStats
    - AllocEnormous
    - auto::start_address
    - HugeRange::valid
    - HugePageContaining
    - PrintInPbtxt
    - auto::donated
    - SetHugepage
    - TC_CHECK
    - ABSL_PREDICT_FALSE
    - free_backed
    - Span*::sampled
    - __builtin_trap
    - filler_skip_subrelease_long_interval
    - printf
    - DeleteFromHugepage
    - ReleaseCachedPages
    - PrintStats
    - Get
    - FillerType::Tracker*::abandoned
    - release_partial_alloc_pages
    - PageIdContaining
    - Put
    - tcmalloc_internal::HugeRegion::size
    - RecordRelease
    - RecordAlloc
    - HugeLength::in_pages
    - use_userspace_collapse_heuristics
    - ReleaseHugepage
    - first_page
    - Length
    - HugeRegion*::CreateSubRegion
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - AssertHeld
    - Range
    - TC_ASSERT_GT
    - AllocSmall
    - raw_num
    - RefillFiller
    - TC_CHECK_NE
    - AddSpanStats
    - forwarder_::arena
    - slack
    - PageId::start_addr
    - reinterpret_cast<FillerType::Tracker*>
    - FetchFullyFreedTracker
    - FillerType::Tracker*::longest_free_range
    - Delete
    - auto::PrintI64
    - lock
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    - SetSpan
    - GetMemoryTag
    - FillerType::Tracker*::set_abandoned
    - HLFromPages
    - FillerType::Tracker*::Get
    - Finalize
    - HugeRange::start
    - Spanify
    - NHugePages
    - tcmalloc_internal::Parameters::huge_cache_release_time
    - Span*::start_address
    - DeleteSpan
    - TC_CHECK_LE
    - stats
    - forwarder_::CollapsePages
    - SmallSpanStats
    - New
    - NewSpan
    - auto::first_page
    - ShrinkToUsageLimit
    - TryGet
    - start_addr
    - absl::base_internal::CycleClock::Now
    - FinalizeType::num_pages
    - auto::num_pages
    - FillerType::Tracker*::released
    - MaybePut
    - CreateSubRegion
    - FillerType::Tracker*::was_donated
    - Ensure
    - Unspanify
    - HLFromBytes
    - GetHugepage
    - small
    - filler_skip_subrelease_short_interval
    - ReleasePages
    - ReleaseUnbacked
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - huge_region_option
    - HugePage::first_page
    - SetTracker
    - AllocAndReport
    - unlock
    - FillerType::Tracker*::used_pages
    - TC_ASSERT
    - PrintStatsInPbtxt
    - HugeRange::len
    - auto::PrintBool
    - Span*::set_donated
    - FillerType::Tracker*::abandoned_count
    - hpaa_subrelease
    - LockAndAlloc
    - TC_ASSERT_GE
    - BreakdownStatsInPbtxt
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::location
    - RecordFree
    - Range::p::start_addr
    - TC_ASSERT_NE
    - Back
    - PrefetchW
    - MaybeGet
    - AllocRawHugepages
    - Release
    - ABSL_PREDICT_TRUE
    - AllocAndContribute
    - ClearSpan
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    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::release_partial_alloc_pages
      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::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::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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:
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      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::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    linkageType: ''
    returnType: bool
    signature: bool use_userspace_collapse_heuristics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    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: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    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:239,1
    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::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: 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: []
    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: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    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: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    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: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    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: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    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: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:274,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    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: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    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: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:295,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:298,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    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:
    - unlock
    - lock
    - AssertHeld
    - forwarder_::ReleasePages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    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: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - 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: MemoryModifyStatus
    signature: MemoryModifyStatus 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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    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: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    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: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    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: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    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: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    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:486,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - HugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 492
    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:497,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<FillerType::Tracker*>
    - FillerType::Tracker*::location
    - 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:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - HugePageAwareAllocator<Forwarder>::FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    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:512,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:513,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:519,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:520,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:522,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:524,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,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: 528
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 528
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - HugePage::start_addr
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::Get
    - absl::base_internal::CycleClock::Now
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - HugePage::first_page
    - Contribute
    - TC_ASSERT_GE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - TC_ASSERT_EQ
    - FillerType::Tracker*::longest_free_range
    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:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:533,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:534,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,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: 545
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - Get
    - HugeRange::valid
    - HugeRange::start
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - ShrinkToUsageLimit
    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:551,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:552,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:553,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:556,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:557,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - SetSpan
    - Span*::sampled
    - TC_ASSERT
    - NewSpan
    - RecordAlloc
    - ShrinkToUsageLimit
    - TC_ASSERT_NE
    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:572,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:578,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:579,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,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: 583
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - TryGet
    - ABSL_PREDICT_FALSE
    - Finalize
    - ABSL_PREDICT_TRUE
    - Range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    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:591,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:592,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:599,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:608,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:622,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:624,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:626,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:627,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:637,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:638,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:643,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:644,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,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: 649
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 649
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    - small
    - TryGet
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - TC_CHECK
    - HLFromPages
    - slack
    - Finalize
    - ABSL_PREDICT_TRUE
    - Range
    - UseHugeRegionMoreOften
    - HLFromBytes
    - HugeLength::in_pages
    - MaybeGet
    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:656,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: 657
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 657
    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:663,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:665,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:672,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:674,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:675,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      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: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:686,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:689,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: 695
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 695
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - HugeRange::len
    - Get
    - HLFromPages
    - Range
    - Finalize
    - HugeRange::valid
    - HugeRange::start
    - auto::set_donated
    - Length
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - HugeLength::in_pages
    - TC_ASSERT_GT
    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:701,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:703,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:709,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:712,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 715
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - GetMemoryTag
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - Span*::start_address
    - Length
    - TC_CHECK_GT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    - TC_ASSERT
    - PrefetchW
    - 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:726,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:731,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:732,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,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: 738
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 738
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    - tcmalloc_internal::HugeRegion::size
    - 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:744,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:745,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:755,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:758,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:761,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:764,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 742
    functionDepth: 4
    functionLinenumber: 742
    functionLinenumberEnd: 767
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - TC_CHECK_LE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Span*::start_address
    - PrefetchW
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - TC_ASSERT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - 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:774,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:778,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:779,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - SetSpan
    - ABSL_PREDICT_FALSE
    - Span*::set_donated
    - Span*::sampled
    - TC_ASSERT
    - NewSpan
    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:789,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 794
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT
    - FinalizeType::first_page
    - FinalizeType::num_pages
    - 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:800,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:800,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:803,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:805,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pt
    - r
    - might_abandon
    - span_alloc_info
    argTypes:
    - FillerType::Tracker*
    - Range
    - bool
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 811
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - ABSL_PREDICT_FALSE
    - FillerType::Tracker*::was_donated
    - ABSL_PREDICT_TRUE
    - Put
    - FillerType::Tracker*::abandoned_count
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::DeleteFromHugepage(\n    FillerType::Tracker*
      pt, Range r, bool might_abandon,\n    SpanAllocInfo span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 820
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - Get
    - HugeRange::valid
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::AddRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:827,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:828,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:831,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - span
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - GetMemoryTag
    - Span*::first_page
    - Span*::num_pages
    - TC_ASSERT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - Span*::donated
    - Span*::start_address
    - DeleteSpan
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Delete(\n    Span* span, SpanAllocInfo
      span_alloc_info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:841,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: ClearSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:856,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:870,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:871,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:876,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:895,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:896,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:903,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:905,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:911,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - AllocationState
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 916
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - FillerType::Tracker*::abandoned
    - FillerType::Tracker*::abandoned_count
    - Put
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - HugeLength::in_pages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    - Length
    - FillerType::Tracker*::location
    - ReportDoubleFree
    - RecordFree
    - Range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::released
    - MaybePut
    - FillerType::Tracker*::was_donated
    - HugePageContaining
    - PageId::start_addr
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - HLFromPages
    - ABSL_PREDICT_FALSE
    - Release
    - ABSL_PREDICT_TRUE
    - HugePage::first_page
    - ClearSpan
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Delete(\n    AllocationState
      s, SpanAllocInfo span_alloc_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:927,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:939,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 945
    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
    - FillerType::Tracker*::set_abandoned
    - ReleaseUnbacked
    - FillerType::Tracker*::released
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - Release
    - Length
    - FillerType::Tracker*::abandoned_count
    - FillerType::Tracker*::location
    - FillerType::Tracker*::used_pages
    - NHugePages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    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:950,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:952,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:953,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 960
    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:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 967
    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:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:980,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:987,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:988,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - AddSpanStats
    - LargeSpanStats
    - SmallSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1003,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1004,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1011,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1017,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1019,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1027
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - filler_skip_subrelease_short_interval
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - ReleasePages
    - HLFromPages
    - release_partial_alloc_pages
    - filler_skip_subrelease_long_interval
    - RecordRelease
    - UseHugeRegionMoreOften
    - ReleaseCachedPages
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages(\n
      \   Length num_pages, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1033,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1035,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1038,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1041
    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>::TreatHugepageTrackers
    - FetchFullyFreedTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - use_userspace_collapse_heuristics
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers(\n    bool
      enable_collapse, bool enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    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:1050,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1051,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - ' s'
    - label
    argTypes:
    - Printer
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    - printf
    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:1058,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1059,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1060,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' hpaa'
    - ' s'
    - key
    argTypes:
    - PbtxtRegion
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    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:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' pageflags'
    argTypes:
    - Printer
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    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:1079,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1080,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1081,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1082,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1088,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1090,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1091,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1093,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1097,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1099,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1103,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1104,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1115,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1118,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1120,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1121,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1124,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1127,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1128,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1130
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - raw_num
    - PrintStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    - printf
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - UseHugeRegionMoreOften
    - BreakdownStats
    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:1138,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1139,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1142,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1148,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1149,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1151,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1152,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1158,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1160,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1173,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' region'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1178
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - PrintStatsInPbtxt
    - auto::PrintBool
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    - auto::PrintI64
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - raw_num
    - CreateSubRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - UseHugeRegionMoreOften
    - BreakdownStatsInPbtxt
    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:1183,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1185,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1190
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - BytesToLengthFloor
    - Ensure
    - PageIdContaining
    - AllocatePages
    - Range
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange HugePageAwareAllocator<Forwarder>::AllocAndReport(\n
      \   size_t bytes, size_t align)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1205,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1207,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1217
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePages
    - RecordRelease
    - ReleaseCachedPages
    - HLFromPages
    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:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    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:1229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1235
    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:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1244
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    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::release_partial_alloc_pages
      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::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::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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:
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      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::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    linkageType: ''
    returnType: bool
    signature: bool use_userspace_collapse_heuristics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    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: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    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:239,1
    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::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: 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: []
    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: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    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: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    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: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    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: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    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: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:274,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    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: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    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: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:295,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:298,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    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:
    - unlock
    - lock
    - AssertHeld
    - forwarder_::ReleasePages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    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: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - 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: MemoryModifyStatus
    signature: MemoryModifyStatus 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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    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: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    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: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    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: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    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: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    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:486,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - HugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 492
    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:497,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<FillerType::Tracker*>
    - FillerType::Tracker*::location
    - 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:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - HugePageAwareAllocator<Forwarder>::FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    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:512,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:513,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:519,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:520,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:522,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:524,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,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: 528
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 528
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - TC_CHECK_NE
    - HugePage::start_addr
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::Get
    - absl::base_internal::CycleClock::Now
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - HugePage::first_page
    - Contribute
    - TC_ASSERT_GE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - TC_ASSERT_EQ
    - FillerType::Tracker*::longest_free_range
    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:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:533,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:534,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,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: 545
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - Get
    - HugeRange::valid
    - HugeRange::start
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - ShrinkToUsageLimit
    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:551,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:552,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:553,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:556,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:557,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - SetSpan
    - Span*::sampled
    - TC_ASSERT
    - NewSpan
    - RecordAlloc
    - ShrinkToUsageLimit
    - TC_ASSERT_NE
    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:572,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:578,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:579,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,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: 583
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - TryGet
    - ABSL_PREDICT_FALSE
    - Finalize
    - ABSL_PREDICT_TRUE
    - Range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    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:591,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:592,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:599,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:608,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:622,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:624,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:626,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:627,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:637,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:638,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:643,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:644,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,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: 649
      start: 586
    functionDepth: 4
    functionLinenumber: 586
    functionLinenumberEnd: 649
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    - small
    - TryGet
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - TC_CHECK
    - HLFromPages
    - slack
    - Finalize
    - ABSL_PREDICT_TRUE
    - Range
    - UseHugeRegionMoreOften
    - HLFromBytes
    - HugeLength::in_pages
    - MaybeGet
    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:656,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: 657
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 657
    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:663,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:665,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:672,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:674,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:675,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      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: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:686,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:689,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: 695
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 695
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 5
    functionsReached:
    - HugeRange::len
    - Get
    - HLFromPages
    - Range
    - Finalize
    - HugeRange::valid
    - HugeRange::start
    - auto::set_donated
    - Length
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - HugeLength::in_pages
    - TC_ASSERT_GT
    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:701,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:703,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:709,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:712,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 699
    functionDepth: 6
    functionLinenumber: 699
    functionLinenumberEnd: 715
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - GetMemoryTag
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - Span*::start_address
    - Length
    - TC_CHECK_GT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    - TC_ASSERT
    - PrefetchW
    - 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:726,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:731,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:732,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,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: 738
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 738
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    - tcmalloc_internal::HugeRegion::size
    - 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:744,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:745,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:755,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:758,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:761,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:764,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 742
    functionDepth: 4
    functionLinenumber: 742
    functionLinenumberEnd: 767
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - TC_CHECK_LE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Span*::start_address
    - PrefetchW
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - TC_ASSERT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - 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:774,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:778,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:779,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - SetSpan
    - ABSL_PREDICT_FALSE
    - Span*::set_donated
    - Span*::sampled
    - TC_ASSERT
    - NewSpan
    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:789,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 794
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT
    - FinalizeType::first_page
    - FinalizeType::num_pages
    - 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:800,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:800,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:803,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:805,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pt
    - r
    - might_abandon
    - span_alloc_info
    argTypes:
    - FillerType::Tracker*
    - Range
    - bool
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 811
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 1
    functionsReached:
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - ABSL_PREDICT_FALSE
    - FillerType::Tracker*::was_donated
    - ABSL_PREDICT_TRUE
    - Put
    - FillerType::Tracker*::abandoned_count
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::DeleteFromHugepage(\n    FillerType::Tracker*
      pt, Range r, bool might_abandon,\n    SpanAllocInfo span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 820
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - Get
    - HugeRange::valid
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::AddRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:827,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:828,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:831,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - span
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - GetMemoryTag
    - Span*::first_page
    - Span*::num_pages
    - TC_ASSERT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - Span*::donated
    - Span*::start_address
    - DeleteSpan
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Delete(\n    Span* span, SpanAllocInfo
      span_alloc_info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:841,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: ClearSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:856,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:870,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:871,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:876,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:895,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:896,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:903,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:905,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:911,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - AllocationState
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 916
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 5
    functionsReached:
    - FillerType::Tracker*::abandoned
    - FillerType::Tracker*::abandoned_count
    - Put
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - HugeLength::in_pages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    - Length
    - FillerType::Tracker*::location
    - ReportDoubleFree
    - RecordFree
    - Range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::released
    - MaybePut
    - FillerType::Tracker*::was_donated
    - HugePageContaining
    - PageId::start_addr
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - HLFromPages
    - ABSL_PREDICT_FALSE
    - Release
    - ABSL_PREDICT_TRUE
    - HugePage::first_page
    - ClearSpan
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Delete(\n    AllocationState
      s, SpanAllocInfo span_alloc_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:927,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:939,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 945
    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
    - FillerType::Tracker*::set_abandoned
    - ReleaseUnbacked
    - FillerType::Tracker*::released
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - Release
    - Length
    - FillerType::Tracker*::abandoned_count
    - FillerType::Tracker*::location
    - FillerType::Tracker*::used_pages
    - NHugePages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    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:950,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:952,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:953,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 960
    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:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 967
    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:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:980,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:987,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:988,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - AddSpanStats
    - LargeSpanStats
    - SmallSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1003,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1004,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1011,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1017,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1019,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1027
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - filler_skip_subrelease_short_interval
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - ReleasePages
    - HLFromPages
    - release_partial_alloc_pages
    - filler_skip_subrelease_long_interval
    - RecordRelease
    - UseHugeRegionMoreOften
    - ReleaseCachedPages
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages(\n
      \   Length num_pages, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1033,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1035,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1038,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1041
    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>::TreatHugepageTrackers
    - FetchFullyFreedTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - use_userspace_collapse_heuristics
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers(\n    bool
      enable_collapse, bool enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    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:1050,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1051,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - ' s'
    - label
    argTypes:
    - Printer
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    - printf
    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:1058,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1059,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1060,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' hpaa'
    - ' s'
    - key
    argTypes:
    - PbtxtRegion
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    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:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' pageflags'
    argTypes:
    - Printer
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    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:1079,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1080,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1081,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1082,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1088,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1090,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1091,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1093,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1097,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1099,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1103,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1104,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1115,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1118,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1120,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1121,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1124,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1127,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1128,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1130
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - raw_num
    - PrintStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    - printf
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - UseHugeRegionMoreOften
    - BreakdownStats
    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:1138,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1139,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1142,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1148,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1149,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1151,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1152,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1158,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1160,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1173,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' region'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1178
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - PrintStatsInPbtxt
    - auto::PrintBool
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    - auto::PrintI64
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - raw_num
    - CreateSubRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - UseHugeRegionMoreOften
    - BreakdownStatsInPbtxt
    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:1183,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1185,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1190
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - BytesToLengthFloor
    - Ensure
    - PageIdContaining
    - AllocatePages
    - Range
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange HugePageAwareAllocator<Forwarder>::AllocAndReport(\n
      \   size_t bytes, size_t align)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1205,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1207,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1217
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePages
    - RecordRelease
    - ReleaseCachedPages
    - HLFromPages
    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:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    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:1229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1235
    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:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1244
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    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::release_partial_alloc_pages
      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::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::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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:
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      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::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    linkageType: ''
    returnType: bool
    signature: bool use_userspace_collapse_heuristics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    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: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    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:239,1
    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::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: 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: []
    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: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    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: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    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: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    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: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    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: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:274,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    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: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    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: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:295,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:298,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    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:
    - unlock
    - lock
    - AssertHeld
    - forwarder_::ReleasePages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    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: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - 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: MemoryModifyStatus
    signature: MemoryModifyStatus 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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    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: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    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: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    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: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    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: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    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:486,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - HugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 492
    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:497,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<FillerType::Tracker*>
    - FillerType::Tracker*::location
    - 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:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - HugePageAwareAllocator<Forwarder>::FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    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:512,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:513,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:519,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:520,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:522,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:524,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,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: 528
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 528
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - TC_CHECK_NE
    - HugePage::start_addr
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::Get
    - absl::base_internal::CycleClock::Now
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - HugePage::first_page
    - Contribute
    - TC_ASSERT_GE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - TC_ASSERT_EQ
    - FillerType::Tracker*::longest_free_range
    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:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:533,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:534,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,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: 545
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - Get
    - HugeRange::valid
    - HugeRange::start
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - ShrinkToUsageLimit
    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:551,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:552,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:553,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:556,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:557,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - SetSpan
    - Span*::sampled
    - TC_ASSERT
    - NewSpan
    - RecordAlloc
    - ShrinkToUsageLimit
    - TC_ASSERT_NE
    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:572,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:578,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:579,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,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: 583
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - TryGet
    - ABSL_PREDICT_FALSE
    - Finalize
    - ABSL_PREDICT_TRUE
    - Range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    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:591,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:592,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:599,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:608,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:622,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:624,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:626,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:627,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:637,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:638,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:643,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:644,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,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: 649
      start: 586
    functionDepth: 4
    functionLinenumber: 586
    functionLinenumberEnd: 649
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    - small
    - TryGet
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - TC_CHECK
    - HLFromPages
    - slack
    - Finalize
    - ABSL_PREDICT_TRUE
    - Range
    - UseHugeRegionMoreOften
    - HLFromBytes
    - HugeLength::in_pages
    - MaybeGet
    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:656,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: 657
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 657
    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:663,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:665,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:672,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:674,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:675,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      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: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:686,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:689,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: 695
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 695
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - HugeRange::len
    - Get
    - HLFromPages
    - Range
    - Finalize
    - HugeRange::valid
    - HugeRange::start
    - auto::set_donated
    - Length
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - HugeLength::in_pages
    - TC_ASSERT_GT
    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:701,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:703,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:709,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:712,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 699
    functionDepth: 6
    functionLinenumber: 699
    functionLinenumberEnd: 715
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 7
    functionsReached:
    - GetMemoryTag
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - Span*::start_address
    - Length
    - TC_CHECK_GT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    - TC_ASSERT
    - PrefetchW
    - 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:726,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:731,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:732,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,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: 738
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 738
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    - tcmalloc_internal::HugeRegion::size
    - 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:744,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:745,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:755,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:758,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:761,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:764,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 742
    functionDepth: 4
    functionLinenumber: 742
    functionLinenumberEnd: 767
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - TC_CHECK_LE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Span*::start_address
    - PrefetchW
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - TC_ASSERT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - 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:774,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:778,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:779,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - SetSpan
    - ABSL_PREDICT_FALSE
    - Span*::set_donated
    - Span*::sampled
    - TC_ASSERT
    - NewSpan
    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:789,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 794
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - TC_ASSERT
    - FinalizeType::first_page
    - FinalizeType::num_pages
    - 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:800,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:800,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:803,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:805,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pt
    - r
    - might_abandon
    - span_alloc_info
    argTypes:
    - FillerType::Tracker*
    - Range
    - bool
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 811
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 2
    functionsReached:
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - ABSL_PREDICT_FALSE
    - FillerType::Tracker*::was_donated
    - ABSL_PREDICT_TRUE
    - Put
    - FillerType::Tracker*::abandoned_count
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::DeleteFromHugepage(\n    FillerType::Tracker*
      pt, Range r, bool might_abandon,\n    SpanAllocInfo span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 820
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - Get
    - HugeRange::valid
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::AddRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:827,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:828,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:831,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - span
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 7
    functionsReached:
    - GetMemoryTag
    - Span*::first_page
    - Span*::num_pages
    - TC_ASSERT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - Span*::donated
    - Span*::start_address
    - DeleteSpan
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Delete(\n    Span* span, SpanAllocInfo
      span_alloc_info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:841,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: ClearSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:856,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:870,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:871,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:876,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:895,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:896,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:903,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:905,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:911,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - AllocationState
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 916
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - FillerType::Tracker*::abandoned
    - FillerType::Tracker*::abandoned_count
    - Put
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - HugeLength::in_pages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    - Length
    - FillerType::Tracker*::location
    - ReportDoubleFree
    - RecordFree
    - Range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::released
    - MaybePut
    - FillerType::Tracker*::was_donated
    - HugePageContaining
    - PageId::start_addr
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - HLFromPages
    - ABSL_PREDICT_FALSE
    - Release
    - ABSL_PREDICT_TRUE
    - HugePage::first_page
    - ClearSpan
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Delete(\n    AllocationState
      s, SpanAllocInfo span_alloc_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:927,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:939,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 945
    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
    - FillerType::Tracker*::set_abandoned
    - ReleaseUnbacked
    - FillerType::Tracker*::released
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - Release
    - Length
    - FillerType::Tracker*::abandoned_count
    - FillerType::Tracker*::location
    - FillerType::Tracker*::used_pages
    - NHugePages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    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:950,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:952,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:953,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 960
    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:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 967
    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:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:980,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:987,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:988,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 10
    functionsReached:
    - AddSpanStats
    - LargeSpanStats
    - SmallSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1003,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1004,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1011,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1017,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1019,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1027
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - filler_skip_subrelease_short_interval
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - ReleasePages
    - HLFromPages
    - release_partial_alloc_pages
    - filler_skip_subrelease_long_interval
    - RecordRelease
    - UseHugeRegionMoreOften
    - ReleaseCachedPages
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages(\n
      \   Length num_pages, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1033,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1035,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1038,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1041
    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>::TreatHugepageTrackers
    - FetchFullyFreedTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - use_userspace_collapse_heuristics
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers(\n    bool
      enable_collapse, bool enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    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:1050,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1051,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - ' s'
    - label
    argTypes:
    - Printer
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    - printf
    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:1058,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1059,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1060,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' hpaa'
    - ' s'
    - key
    argTypes:
    - PbtxtRegion
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    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:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' pageflags'
    argTypes:
    - Printer
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    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:1079,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1080,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1081,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1082,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1088,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1090,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1091,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1093,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1097,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1099,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1103,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1104,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1115,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1118,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1120,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1121,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1124,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1127,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1128,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1130
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - raw_num
    - PrintStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    - printf
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - UseHugeRegionMoreOften
    - BreakdownStats
    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:1138,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1139,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1142,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1148,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1149,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1151,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1152,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1158,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1160,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1173,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' region'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1178
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - PrintStatsInPbtxt
    - auto::PrintBool
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    - auto::PrintI64
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - raw_num
    - CreateSubRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - UseHugeRegionMoreOften
    - BreakdownStatsInPbtxt
    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:1183,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1185,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1190
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - BytesToLengthFloor
    - Ensure
    - PageIdContaining
    - AllocatePages
    - Range
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange HugePageAwareAllocator<Forwarder>::AllocAndReport(\n
      \   size_t bytes, size_t align)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1205,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1207,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1217
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePages
    - RecordRelease
    - ReleaseCachedPages
    - HLFromPages
    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:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    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:1229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1235
    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:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1244
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    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::release_partial_alloc_pages
      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::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::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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:
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      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::use_userspace_collapse_heuristics
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    linkageType: ''
    returnType: bool
    signature: bool use_userspace_collapse_heuristics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    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: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    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:239,1
    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::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: 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: []
    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: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    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: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    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: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    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: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    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: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:274,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    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: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    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: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:295,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:297,1
    - Dst: forwarder_::ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:298,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    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:
    - unlock
    - lock
    - AssertHeld
    - forwarder_::ReleasePages
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    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: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - 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: MemoryModifyStatus
    signature: MemoryModifyStatus 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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:332,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::SetAnonVmaName
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - name
    argTypes:
    - Range
    - std::optional<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    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: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    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: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocAndReport
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    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: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    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: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder_::arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    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:486,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - HugePageAwareAllocatorOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 492
    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:497,1
    - Dst: reinterpret_cast<FillerType::Tracker*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:498,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<FillerType::Tracker*>
    - FillerType::Tracker*::location
    - 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:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pt
    argTypes:
    - HugePage
    - HugePageAwareAllocator<Forwarder>::FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    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:512,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:512,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:513,1
    - Dst: absl::base_internal::CycleClock::Now
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:514,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: FillerType::Tracker*::longest_free_range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:515,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:516,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:519,1
    - Dst: FillerType::Tracker*::set_abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:520,1
    - Dst: FillerType::Tracker*::Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:522,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:523,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:524,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:525,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:526,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: 528
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 528
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 6
    functionsReached:
    - TC_CHECK_NE
    - HugePage::start_addr
    - FillerType::Tracker*::set_abandoned_count
    - FillerType::Tracker*::Get
    - absl::base_internal::CycleClock::Now
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - HugePage::first_page
    - Contribute
    - TC_ASSERT_GE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - TC_ASSERT_EQ
    - FillerType::Tracker*::longest_free_range
    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:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:533,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:534,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:543,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:544,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: 545
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - Get
    - HugeRange::valid
    - HugeRange::start
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - ShrinkToUsageLimit
    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:551,1
    - Dst: RecordAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:552,1
    - Dst: ShrinkToUsageLimit
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:553,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:556,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:557,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 563
    functionName: tcmalloc_internal::huge_page_allocator_internal::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - SetSpan
    - Span*::sampled
    - TC_ASSERT
    - NewSpan
    - RecordAlloc
    - ShrinkToUsageLimit
    - TC_ASSERT_NE
    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:572,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:574,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:575,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:578,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:579,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:582,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: 583
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - TryGet
    - ABSL_PREDICT_FALSE
    - Finalize
    - ABSL_PREDICT_TRUE
    - Range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::RefillFiller
    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:591,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:592,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:593,1
    - Dst: TryGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:599,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:601,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:602,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:608,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:609,1
    - Dst: slack
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:622,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:624,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:626,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:627,1
    - Dst: small
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:636,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:637,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:638,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:643,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:644,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: MaybeGet
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:647,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:648,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: 649
      start: 586
    functionDepth: 4
    functionLinenumber: 586
    functionLinenumberEnd: 649
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    - small
    - TryGet
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - TC_CHECK
    - HLFromPages
    - slack
    - Finalize
    - ABSL_PREDICT_TRUE
    - Range
    - UseHugeRegionMoreOften
    - HLFromBytes
    - HugeLength::in_pages
    - MaybeGet
    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:656,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: 657
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 657
    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:663,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:665,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:666,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:672,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:674,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:675,1
    - Dst: HugeRange::len
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:676,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:677,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      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: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:685,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:686,1
    - Dst: Finalize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:687,1
    - Dst: auto::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:689,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: 695
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 695
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 11
    functionsReached:
    - HugeRange::len
    - Get
    - HLFromPages
    - Range
    - Finalize
    - HugeRange::valid
    - HugeRange::start
    - auto::set_donated
    - Length
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndContribute
    - HugeLength::in_pages
    - TC_ASSERT_GT
    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:701,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:701,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:703,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:705,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:707,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:709,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:712,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 699
    functionDepth: 6
    functionLinenumber: 699
    functionLinenumberEnd: 715
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 10
    functionsReached:
    - GetMemoryTag
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - Span*::start_address
    - Length
    - TC_CHECK_GT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    - TC_ASSERT
    - PrefetchW
    - 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:726,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:731,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocLarge
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:732,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocEnormous
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:737,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: 738
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 738
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::LockAndAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocSmall
    - tcmalloc_internal::HugeRegion::size
    - 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:744,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:745,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:750,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:755,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:758,1
    - Dst: PrefetchW
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Range::p::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:760,1
    - Dst: Back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:761,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:764,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - n
    - align
    - span_alloc_info
    argTypes:
    - Length
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 742
    functionDepth: 4
    functionLinenumber: 742
    functionLinenumberEnd: 767
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::NewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - TC_CHECK_LE
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocRawHugepages
    - Back
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    - Span*::start_address
    - PrefetchW
    - Length
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    - TC_ASSERT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    - 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:774,1
    - Dst: NewSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:778,1
    - Dst: SetSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:779,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:780,1
    - Dst: Span*::set_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Spanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - SetSpan
    - ABSL_PREDICT_FALSE
    - Span*::set_donated
    - Span*::sampled
    - TC_ASSERT
    - NewSpan
    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:789,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    - Dst: FinalizeType::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FinalizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 794
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Unspanify
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - TC_ASSERT
    - FinalizeType::first_page
    - FinalizeType::num_pages
    - 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:800,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:800,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:803,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:804,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:805,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:806,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pt
    - r
    - might_abandon
    - span_alloc_info
    argTypes:
    - FillerType::Tracker*
    - Range
    - bool
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 811
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 3
    functionsReached:
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - ABSL_PREDICT_FALSE
    - FillerType::Tracker*::was_donated
    - ABSL_PREDICT_TRUE
    - Put
    - FillerType::Tracker*::abandoned_count
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::DeleteFromHugepage(\n    FillerType::Tracker*
      pt, Range r, bool might_abandon,\n    SpanAllocInfo span_alloc_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: tcmalloc_internal::HugeRegion::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:815,1
    - Dst: HugeRange::valid
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:816,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:817,1
    - Dst: Contribute
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 820
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AddRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - Get
    - HugeRange::valid
    - Contribute
    - tcmalloc_internal::HugeRegion::size
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::New
    linkageType: ''
    returnType: bool
    signature: bool HugePageAwareAllocator<Forwarder>::AddRegion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:826,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:827,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:828,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:830,1
    - Dst: DeleteSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:831,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - span
    - span_alloc_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 834
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 10
    functionsReached:
    - GetMemoryTag
    - Span*::first_page
    - Span*::num_pages
    - TC_ASSERT
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - Span*::donated
    - Span*::start_address
    - DeleteSpan
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Delete(\n    Span* span, SpanAllocInfo
      span_alloc_info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:841,1
    - Dst: RecordFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:843,1
    - Dst: ClearSpan
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:847,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:853,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:856,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:857,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:858,1
    - Dst: MaybePut
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:864,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:869,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:870,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:871,1
    - Dst: HugeLength::in_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:873,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:874,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:876,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:877,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:880,1
    - Dst: HugePage::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:884,1
    - Dst: Put
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:888,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:895,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:896,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:902,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:903,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:905,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:910,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:911,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:915,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - s
    - span_alloc_info
    argTypes:
    - AllocationState
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 916
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 11
    functionsReached:
    - FillerType::Tracker*::abandoned
    - FillerType::Tracker*::abandoned_count
    - Put
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - HugeLength::in_pages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::DeleteFromHugepage
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetTracker
    - Length
    - FillerType::Tracker*::location
    - ReportDoubleFree
    - RecordFree
    - Range
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    - FillerType::Tracker*::released
    - MaybePut
    - FillerType::Tracker*::was_donated
    - HugePageContaining
    - PageId::start_addr
    - FillerType::Tracker*::set_abandoned
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - HLFromPages
    - ABSL_PREDICT_FALSE
    - Release
    - ABSL_PREDICT_TRUE
    - HugePage::first_page
    - ClearSpan
    - NHugePages
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - TC_ASSERT
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::Delete(\n    AllocationState
      s, SpanAllocInfo span_alloc_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:921,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::used_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:922,1
    - Dst: FillerType::Tracker*::was_donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:925,1
    - Dst: FillerType::Tracker*::abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:927,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:928,1
    - Dst: FillerType::Tracker*::set_abandoned
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:929,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::abandoned_count
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:932,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:935,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::location
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:936,1
    - Dst: FillerType::Tracker*::released
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:938,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:939,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:941,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - FillerType::Tracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 945
    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
    - FillerType::Tracker*::set_abandoned
    - ReleaseUnbacked
    - FillerType::Tracker*::released
    - FillerType::Tracker*::was_donated
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::SetTracker
    - Release
    - Length
    - FillerType::Tracker*::abandoned_count
    - FillerType::Tracker*::location
    - FillerType::Tracker*::used_pages
    - NHugePages
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Delete
    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:950,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:952,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:953,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 960
    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:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SmallSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 967
    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:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:980,1
    - Dst: LargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:983,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:986,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:987,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:988,1
    - Dst: AddSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - small
    - large
    argTypes:
    - SmallSpanStats*
    - LargeSpanStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 14
    functionsReached:
    - AddSpanStats
    - LargeSpanStats
    - SmallSpanStats
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::GetSpanStats(\n    SmallSpanStats*
      small, LargeSpanStats* large)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:997,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1003,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1004,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1011,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1013,1
    - Dst: filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1017,1
    - Dst: filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1019,1
    - Dst: release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1020,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - num_pages
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1027
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - filler_skip_subrelease_short_interval
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - ReleasePages
    - HLFromPages
    - release_partial_alloc_pages
    - filler_skip_subrelease_long_interval
    - RecordRelease
    - UseHugeRegionMoreOften
    - ReleaseCachedPages
    linkageType: ''
    returnType: Length
    signature: "Length HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPages(\n
      \   Length num_pages, PageReleaseReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1033,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1035,1
    - Dst: FetchFullyFreedTracker
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1038,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1041
    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>::TreatHugepageTrackers
    - FetchFullyFreedTracker
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseHugepage
    - use_userspace_collapse_heuristics
    linkageType: ''
    returnType: void
    signature: "void HugePageAwareAllocator<Forwarder>::TreatHugepageTrackers(\n    bool
      enable_collapse, bool enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    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:1050,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1051,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - ' s'
    - label
    argTypes:
    - Printer
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::huge_page_allocator_internal::BytesToMiB
    - printf
    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:1058,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1059,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1060,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' hpaa'
    - ' s'
    - key
    argTypes:
    - PbtxtRegion
    - BackingStats
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: tcmalloc_internal::huge_page_allocator_internal::BreakdownStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - CreateSubRegion
    - auto::PrintI64
    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:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' pageflags'
    argTypes:
    - Printer
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    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:1079,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1080,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1081,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1082,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1085,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1087,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1088,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1090,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1091,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1093,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1097,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1099,1
    - Dst: BreakdownStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1103,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1104,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1106,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1109,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1114,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1115,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1117,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1118,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1119,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1120,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1121,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1124,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1127,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1128,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' out'
    - everything
    - ' pageflags'
    argTypes:
    - Printer
    - bool
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1130
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 8
    functionsReached:
    - raw_num
    - PrintStats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::Print
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    - printf
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - UseHugeRegionMoreOften
    - BreakdownStats
    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:1138,1
    - Dst: PrintStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1139,1
    - Dst: CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1141,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1142,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1143,1
    - Dst: auto::PrintBool
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1144,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1145,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1148,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1149,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1151,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1152,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1154,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1158,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1160,1
    - Dst: BreakdownStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1165,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1167,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1168,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1169,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1170,1
    - Dst: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1173,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1175,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' region'
    - ' pageflags'
    argTypes:
    - PbtxtRegion
    - PageFlagsBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1178
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 4
    functionsReached:
    - PrintStatsInPbtxt
    - auto::PrintBool
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::PrintInPbtxt
    - auto::PrintI64
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::hpaa_subrelease
    - raw_num
    - CreateSubRegion
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::stats
    - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::GetSpanStats
    - UseHugeRegionMoreOften
    - BreakdownStatsInPbtxt
    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:1183,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1185,1
    - Dst: BytesToLengthFloor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1186,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Ensure
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1190
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::AllocAndReport
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - BytesToLengthFloor
    - Ensure
    - PageIdContaining
    - AllocatePages
    - Range
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange HugePageAwareAllocator<Forwarder>::AllocAndReport(\n
      \   size_t bytes, size_t align)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: HLFromPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1202,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1205,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1207,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1211,1
    - Dst: RecordRelease
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1217
    functionName: tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator<Forwarder>::ReleaseAtLeastNPagesBreakingHugepages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    functionUses: 0
    functionsReached:
    - ReleasePages
    - RecordRelease
    - ReleaseCachedPages
    - HLFromPages
    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:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    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:1229,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - pages
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1235
    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:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1244
    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:
    - HugeRange::len
    - HugeLength::overflows
    - HugeAddressMap::Node*::longest
    - TC_CHECK_GT
    - HugeRange::precedes
    - TC_CHECK_EQ
    - Remove
    - Print
    - TC_ASSERT_EQ
    - HugeLength::in_pages
    - total_mapped
    - HugeAddressMap::Node*::next
    - HugeAddressMap::Node*::left
    - first
    - auto*::range
    - auto::range
    - Find
    - AllocateRange
    - HugeAddressMap::Node*::range
    - Insert
    - auto::longest
    - raw_num
    - AddSpanStats
    - TC_CHECK_NE
    - tcmalloc_internal::Make
    - HugeRange::valid
    - HugePageContaining
    - HugeLength::in_bytes
    - PrintInPbtxt
    - HugeAddressMap::Node*::right
    - HLFromBytes
    - allocate_
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - nranges
    - root
    - HugeRange::start
    - Release
    - PrintI64
    - printf
    - NHugePages
    - TC_ASSERT
    - DebugCheckFreelist
    - Check
    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
    - PrintI64
    - tcmalloc_internal::HugeAllocator::PrintInPbtxt
    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:
    - HugeAddressMap::Node*::left
    - auto::range
    - root
    - HugeAddressMap::Node*::longest
    - HugeAddressMap::Node*::range
    - HugeAddressMap::Node*::right
    - auto::longest
    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:
    - total_mapped
    - nranges
    - TC_CHECK_EQ
    - tcmalloc_internal::HugeAllocator::AddSpanStats
    - HugeLength::in_pages
    - Check
    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:
    - tcmalloc_internal::Make
    - TC_CHECK_NE
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - HugeLength::overflows
    - HugePageContaining
    - HugeLength::in_bytes
    - TC_CHECK_EQ
    - HLFromBytes
    - 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:
    - HugeRange::len
    - TC_CHECK_NE
    - tcmalloc_internal::Make
    - tcmalloc_internal::HugeAllocator::Find
    - tcmalloc_internal::HugeAllocator::Release
    - auto*::range
    - HugeRange::valid
    - HugeRange::start
    - tcmalloc_internal::HugeAllocator::AllocateRange
    - TC_CHECK_GT
    - HugeRange::precedes
    - NHugePages
    - Remove
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::HugeAllocator::DebugCheckFreelist
    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:
    - HugeLength::in_pages
    - HugeAddressMap::Node*::range
    - HugeAddressMap::Node*::next
    - first
    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
    - PrintI64
    - tcmalloc_internal::HugeAllocator::PrintInPbtxt
    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:
    - HugeAddressMap::Node*::left
    - auto::range
    - root
    - HugeAddressMap::Node*::longest
    - HugeAddressMap::Node*::range
    - HugeAddressMap::Node*::right
    - auto::longest
    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:
    - total_mapped
    - nranges
    - TC_CHECK_EQ
    - tcmalloc_internal::HugeAllocator::AddSpanStats
    - HugeLength::in_pages
    - Check
    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:
    - tcmalloc_internal::Make
    - TC_CHECK_NE
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - HugeLength::overflows
    - HugePageContaining
    - HugeLength::in_bytes
    - TC_CHECK_EQ
    - HLFromBytes
    - 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:
    - HugeRange::len
    - TC_CHECK_NE
    - tcmalloc_internal::Make
    - tcmalloc_internal::HugeAllocator::Find
    - tcmalloc_internal::HugeAllocator::Release
    - auto*::range
    - HugeRange::valid
    - HugeRange::start
    - tcmalloc_internal::HugeAllocator::AllocateRange
    - TC_CHECK_GT
    - HugeRange::precedes
    - NHugePages
    - Remove
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::HugeAllocator::DebugCheckFreelist
    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:
    - HugeLength::in_pages
    - HugeAddressMap::Node*::range
    - HugeAddressMap::Node*::next
    - first
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_LE
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TC_CHECK_GE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    - std::atomic::store
    - EXPECT_CALL
    - std::thread::join
    - std::atomic::load
    - TC_CHECK_EQ
    - TypeParam::Insert
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    - TypeParam::Insert
    - GTEST_SKIP
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    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:
    - TypeParam::central_freelist
    - size
    - data
    - TypeParam::Remove
    - memset
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - std::min<size_t>
    - subspan
    - static_cast<FakeCentralFreeList&>
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TypeParam::Remove
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::transfer_cache
    - TypeParam::Insert
    - EXPECT_EQ
    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:
    - TypeParam::central_freelist
    - testing::SizeIs
    - testing::Gt
    - testing::AllOf
    - testing::AnyNumber
    - EXPECT_CALL
    - std::vector::reserve
    - ASSERT_GT
    - TypeParam::transfer_cache
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::push_back
    - std::min
    - std::vector::data
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_EQ
    - ON_CALL
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_NE
    - GTEST_SKIP
    - testing::Le
    - 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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - TypeParam::Insert
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - TypeParam::Shrink
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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
    - tcmalloc_internal::subtle::percpu::IsFast
    - ShardedTransferCacheManager::should_use
    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:
    - EXPECT_GT
    - Push
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::central_freelist
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - absl::MakeSpan
    - Pop
    - ASSERT_NE
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - TotalObjectsOfClass
    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:
    - tc_length
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_FALSE
    - Push
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - Pop
    - ASSERT_NE
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::central_freelist
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - shard_initialized
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_LE
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TC_CHECK_GE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    - std::atomic::store
    - EXPECT_CALL
    - std::thread::join
    - std::atomic::load
    - TC_CHECK_EQ
    - TypeParam::Insert
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    - TypeParam::Insert
    - GTEST_SKIP
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    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:
    - TypeParam::central_freelist
    - size
    - data
    - TypeParam::Remove
    - memset
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - std::min<size_t>
    - subspan
    - static_cast<FakeCentralFreeList&>
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TypeParam::Remove
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::transfer_cache
    - TypeParam::Insert
    - EXPECT_EQ
    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:
    - TypeParam::central_freelist
    - testing::SizeIs
    - testing::Gt
    - testing::AllOf
    - testing::AnyNumber
    - EXPECT_CALL
    - std::vector::reserve
    - ASSERT_GT
    - TypeParam::transfer_cache
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::push_back
    - std::min
    - std::vector::data
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_EQ
    - ON_CALL
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_NE
    - GTEST_SKIP
    - testing::Le
    - 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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - TypeParam::Insert
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - TypeParam::Shrink
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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
    - tcmalloc_internal::subtle::percpu::IsFast
    - ShardedTransferCacheManager::should_use
    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:
    - EXPECT_GT
    - Push
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::central_freelist
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - absl::MakeSpan
    - Pop
    - ASSERT_NE
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - TotalObjectsOfClass
    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:
    - tc_length
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_FALSE
    - Push
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - Pop
    - ASSERT_NE
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::central_freelist
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - shard_initialized
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_LE
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TC_CHECK_GE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    - std::atomic::store
    - EXPECT_CALL
    - std::thread::join
    - std::atomic::load
    - TC_CHECK_EQ
    - TypeParam::Insert
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    - TypeParam::Insert
    - GTEST_SKIP
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    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:
    - TypeParam::central_freelist
    - size
    - data
    - TypeParam::Remove
    - memset
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - std::min<size_t>
    - subspan
    - static_cast<FakeCentralFreeList&>
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TypeParam::Remove
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::transfer_cache
    - TypeParam::Insert
    - EXPECT_EQ
    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:
    - TypeParam::central_freelist
    - testing::SizeIs
    - testing::Gt
    - testing::AllOf
    - testing::AnyNumber
    - EXPECT_CALL
    - std::vector::reserve
    - ASSERT_GT
    - TypeParam::transfer_cache
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::push_back
    - std::min
    - std::vector::data
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_EQ
    - ON_CALL
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_NE
    - GTEST_SKIP
    - testing::Le
    - 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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - TypeParam::Insert
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - TypeParam::Shrink
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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
    - tcmalloc_internal::subtle::percpu::IsFast
    - ShardedTransferCacheManager::should_use
    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:
    - EXPECT_GT
    - Push
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::central_freelist
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - absl::MakeSpan
    - Pop
    - ASSERT_NE
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - TotalObjectsOfClass
    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:
    - tc_length
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_FALSE
    - Push
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - Pop
    - ASSERT_NE
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::central_freelist
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - shard_initialized
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_LE
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TC_CHECK_GE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    - std::atomic::store
    - EXPECT_CALL
    - std::thread::join
    - std::atomic::load
    - TC_CHECK_EQ
    - TypeParam::Insert
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    - TypeParam::Insert
    - GTEST_SKIP
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    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:
    - TypeParam::central_freelist
    - size
    - data
    - TypeParam::Remove
    - memset
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - std::min<size_t>
    - subspan
    - static_cast<FakeCentralFreeList&>
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TypeParam::Remove
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::transfer_cache
    - TypeParam::Insert
    - EXPECT_EQ
    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:
    - TypeParam::central_freelist
    - testing::SizeIs
    - testing::Gt
    - testing::AllOf
    - testing::AnyNumber
    - EXPECT_CALL
    - std::vector::reserve
    - ASSERT_GT
    - TypeParam::transfer_cache
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::push_back
    - std::min
    - std::vector::data
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_EQ
    - ON_CALL
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_NE
    - GTEST_SKIP
    - testing::Le
    - 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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - TypeParam::Insert
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - TypeParam::Shrink
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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
    - tcmalloc_internal::subtle::percpu::IsFast
    - ShardedTransferCacheManager::should_use
    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:
    - EXPECT_GT
    - Push
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::central_freelist
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - absl::MakeSpan
    - Pop
    - ASSERT_NE
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - TotalObjectsOfClass
    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:
    - tc_length
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_FALSE
    - Push
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - Pop
    - ASSERT_NE
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::central_freelist
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - shard_initialized
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_LE
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TC_CHECK_GE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    - std::atomic::store
    - EXPECT_CALL
    - std::thread::join
    - std::atomic::load
    - TC_CHECK_EQ
    - TypeParam::Insert
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    - TypeParam::Insert
    - GTEST_SKIP
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    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:
    - TypeParam::central_freelist
    - size
    - data
    - TypeParam::Remove
    - memset
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - std::min<size_t>
    - subspan
    - static_cast<FakeCentralFreeList&>
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TypeParam::Remove
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::transfer_cache
    - TypeParam::Insert
    - EXPECT_EQ
    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:
    - TypeParam::central_freelist
    - testing::SizeIs
    - testing::Gt
    - testing::AllOf
    - testing::AnyNumber
    - EXPECT_CALL
    - std::vector::reserve
    - ASSERT_GT
    - TypeParam::transfer_cache
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::push_back
    - std::min
    - std::vector::data
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_EQ
    - ON_CALL
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_NE
    - GTEST_SKIP
    - testing::Le
    - 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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - TypeParam::Insert
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - TypeParam::Shrink
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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
    - tcmalloc_internal::subtle::percpu::IsFast
    - ShardedTransferCacheManager::should_use
    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:
    - EXPECT_GT
    - Push
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::central_freelist
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - absl::MakeSpan
    - Pop
    - ASSERT_NE
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - TotalObjectsOfClass
    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:
    - tc_length
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_FALSE
    - Push
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - Pop
    - ASSERT_NE
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::central_freelist
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - shard_initialized
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_LE
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TC_CHECK_GE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    - std::atomic::store
    - EXPECT_CALL
    - std::thread::join
    - std::atomic::load
    - TC_CHECK_EQ
    - TypeParam::Insert
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    - TypeParam::Insert
    - GTEST_SKIP
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    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:
    - TypeParam::central_freelist
    - size
    - data
    - TypeParam::Remove
    - memset
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - std::min<size_t>
    - subspan
    - static_cast<FakeCentralFreeList&>
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TypeParam::Remove
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::transfer_cache
    - TypeParam::Insert
    - EXPECT_EQ
    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:
    - TypeParam::central_freelist
    - testing::SizeIs
    - testing::Gt
    - testing::AllOf
    - testing::AnyNumber
    - EXPECT_CALL
    - std::vector::reserve
    - ASSERT_GT
    - TypeParam::transfer_cache
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::push_back
    - std::min
    - std::vector::data
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_EQ
    - ON_CALL
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_NE
    - GTEST_SKIP
    - testing::Le
    - 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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - TypeParam::Insert
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - TypeParam::Shrink
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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
    - tcmalloc_internal::subtle::percpu::IsFast
    - ShardedTransferCacheManager::should_use
    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:
    - EXPECT_GT
    - Push
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::central_freelist
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - absl::MakeSpan
    - Pop
    - ASSERT_NE
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - TotalObjectsOfClass
    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:
    - tc_length
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_FALSE
    - Push
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - Pop
    - ASSERT_NE
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::central_freelist
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - shard_initialized
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_LE
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TC_CHECK_GE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    - std::atomic::store
    - EXPECT_CALL
    - std::thread::join
    - std::atomic::load
    - TC_CHECK_EQ
    - TypeParam::Insert
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    - TypeParam::Insert
    - GTEST_SKIP
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    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:
    - TypeParam::central_freelist
    - size
    - data
    - TypeParam::Remove
    - memset
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - std::min<size_t>
    - subspan
    - static_cast<FakeCentralFreeList&>
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TypeParam::Remove
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::transfer_cache
    - TypeParam::Insert
    - EXPECT_EQ
    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:
    - TypeParam::central_freelist
    - testing::SizeIs
    - testing::Gt
    - testing::AllOf
    - testing::AnyNumber
    - EXPECT_CALL
    - std::vector::reserve
    - ASSERT_GT
    - TypeParam::transfer_cache
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::push_back
    - std::min
    - std::vector::data
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_EQ
    - ON_CALL
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_NE
    - GTEST_SKIP
    - testing::Le
    - 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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - TypeParam::Insert
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - TypeParam::Shrink
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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
    - tcmalloc_internal::subtle::percpu::IsFast
    - ShardedTransferCacheManager::should_use
    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:
    - EXPECT_GT
    - Push
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::central_freelist
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - absl::MakeSpan
    - Pop
    - ASSERT_NE
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - TotalObjectsOfClass
    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:
    - tc_length
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_FALSE
    - Push
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - Pop
    - ASSERT_NE
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::central_freelist
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - shard_initialized
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_LE
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TC_CHECK_GE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - ASSERT_EQ
    - std::atomic::store
    - EXPECT_CALL
    - std::thread::join
    - std::atomic::load
    - TC_CHECK_EQ
    - TypeParam::Insert
    - absl::SleepFor
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    - TypeParam::Insert
    - GTEST_SKIP
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - TypeParam::Remove
    - EXPECT_CALL
    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:
    - TypeParam::central_freelist
    - size
    - data
    - TypeParam::Remove
    - memset
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - std::min<size_t>
    - subspan
    - static_cast<FakeCentralFreeList&>
    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:
    - TypeParam::central_freelist
    - EXPECT_EQ
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::central_freelist
    - TypeParam::Remove
    - TypeParam::transfer_cache
    - EXPECT_CALL
    - TypeParam::Insert
    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:
    - TypeParam::transfer_cache
    - TypeParam::Insert
    - EXPECT_EQ
    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:
    - TypeParam::central_freelist
    - testing::SizeIs
    - testing::Gt
    - testing::AllOf
    - testing::AnyNumber
    - EXPECT_CALL
    - std::vector::reserve
    - ASSERT_GT
    - TypeParam::transfer_cache
    - tcmalloc::tcmalloc_internal::PickCoprimeBatchSize
    - std::vector::push_back
    - std::min
    - std::vector::data
    - absl::MakeSpan
    - ASSERT_THAT
    - ASSERT_EQ
    - ON_CALL
    - tcmalloc::tcmalloc_internal::BM_MixAndReturn
    - ASSERT_NE
    - GTEST_SKIP
    - testing::Le
    - 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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - TypeParam::Insert
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Remove
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - TypeParam::Shrink
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - TypeParam::Grow
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    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
    - tcmalloc_internal::subtle::percpu::IsFast
    - ShardedTransferCacheManager::should_use
    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:
    - EXPECT_GT
    - Push
    - GetStats
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::central_freelist
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - should_use
    - TC_ASSERT_GT
    - shard_initialized
    - tc_length
    - absl::MakeSpan
    - Pop
    - ASSERT_NE
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    - TotalObjectsOfClass
    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:
    - tc_length
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_FALSE
    - Push
    - EXPECT_TRUE
    - FakeShardedTransferCacheEnvironment::MetadataAllocated
    - Pop
    - ASSERT_NE
    - tcmalloc_internal::subtle::percpu::IsFast
    - FakeShardedTransferCacheEnvironment::central_freelist
    - TotalObjectsOfClass
    - FakeShardedTransferCacheEnvironment::SetCurrentCpu
    - FakeShardedTransferCacheEnvironment::sharded_manager
    - shard_initialized
    - FakeShardedTransferCacheEnvironment::transfer_cache_manager
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - IncreaseCacheCapacity
    - ShrinkCache
    - Return
    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:
    - CanIncreaseCapacity
    - MockMemoryInterface::VerifyAndClear
    - TryResizingCaches
    - EXPECT_CALL
    - ShrinkCache
    - Return
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::Milliseconds
    - EXPECT_EQ
    - TypeParam::RandomlyPoke
    - ThreadManager::Stop
    - absl::Now
    - count_batches
    - ThreadManager::Start
    - TypeParam::transfer_cache_manager
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST_P(RealTransferCacheTest, StressResize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/static_vars.h:85,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/static_vars.h:108,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/static_vars.h:109,1
    - Dst: reinterpret_cast<PageAllocator*>
      Src: /src/tcmalloc/tcmalloc/static_vars.h:122,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.h:179,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/static_vars.h:182,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/static_vars.h:191,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/static_vars.h:191,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/static_vars.h:192,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/static_vars.h:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 262
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - store
    - multiple_non_numa_partitions
    - static_cast<int>
    - load
    - empty
    - numa_topology
    - reinterpret_cast<PageAllocator*>
    - transfer_cache
    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: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Static
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Static()
  - 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: Static
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Static(const Static&)
  - 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: Static
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Static(Static&&)
  - 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 Static&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Static
    signature: Static & operator=(const Static&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '& operator=(Static&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Static
    signature: Static & operator=(Static&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/static_vars.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    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: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    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: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    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: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    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: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& cpu_cache()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & cpu_cache()
  - 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: '& 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: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    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: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: multiple_non_numa_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multiple_non_numa_partitions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/static_vars.h:108,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/static_vars.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: active_partitions
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 54
    functionsReached:
    - multiple_non_numa_partitions
    - numa_topology
    linkageType: ''
    returnType: size_t
    signature: size_t active_partitions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: "&\n  system_allocator()"
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "SystemAllocator<NumaTopology<kNumaPartitions, kNumBaseClasses>,\n
      \                        kNormalPartitions>"
    signature: "SystemAllocator<NumaTopology<kNumaPartitions, kNumBaseClasses>,\n
      \                        kNormalPartitions> &\n  system_allocator()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    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:122,1
    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: '& 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: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    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: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    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: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    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: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    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: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    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: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    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: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    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: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    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: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: 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:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    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:191,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/static_vars.h:191,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/static_vars.h:192,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/static_vars.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    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: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    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: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: '& invalid_span()'
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Span
    signature: Span & invalid_span()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: PageAllocatorStorage
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PageAllocatorStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/static_vars.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: Static::IsInited
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool Static::IsInited()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/static_vars.h:271,1
    - Dst: Static::IsInited
      Src: /src/tcmalloc/tcmalloc/static_vars.h:271,1
    - Dst: SlowInitIfNecessary
      Src: /src/tcmalloc/tcmalloc/static_vars.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: Static::InitIfNecessary
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - Static::IsInited
    - SlowInitIfNecessary
    linkageType: ''
    returnType: void
    signature: void Static::InitIfNecessary()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/static_vars.h:299,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/static_vars.h:300,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/static_vars.h:300,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/static_vars.h:304,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/static_vars.h:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - num_bytes
    - reason
    argTypes:
    - size_t
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 322
    functionName: ConstantRatePageAllocatorReleaser::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/static_vars.h
    functionUses: 0
    functionsReached:
    - BytesToLengthCeil
    - page_allocator
    - TC_ASSERT_GT
    - Length
    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: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    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:40,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: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    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:
    - Dst: load
      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: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - load
    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:46,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h: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::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: fetch_add
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:49,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    - fetch_add
    - static_cast<int64_t>
    - 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: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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:60,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:61,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: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    - absl::Span<void*>::size
    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:66,1
    - Dst: lower_bound
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:69,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:70,1
    - Dst: auto::second::span::last_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - begin
    - PageIdContaining
    - auto::second::span::last_page
    - 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:84,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:84,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:84,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:85,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:87,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:87,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:96,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: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - Span::Span
    - std::align_val_t
    - PageIdContaining
    - emplace
    - Length::in_bytes
    - ::operator new
    - Range
    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:104,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:104,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:105,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:105,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:106,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - free_spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - ::operator delete
    - first_page
    - start_address
    - find
    - EXPECT_NE
    - end
    - erase
    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:133,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:134,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:136,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:137,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:139,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:140,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:142,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:145,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:148,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:151,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:154,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:157,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:160,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    - ON_CALL
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    linkageType: ''
    returnType: void
    signature: void RawMockStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    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:202,1
    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::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: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      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: 205
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::num_priority_lists
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    linkageType: ''
    returnType: size_t
    signature: size_t num_priority_lists() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:211,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    - priority_list_length
    argTypes:
    - size_t
    - size_t
    - size_t
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - Init
    - forwarder
    linkageType: ''
    returnType: void
    signature: "void FakeCentralFreeListEnvironment(\n      size_t class_size, size_t
      pages, size_t num_objects_to_move,\n      PriorityListLength priority_list_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:215,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: ~FakeCentralFreeListEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - length
    - EXPECT_EQ
    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: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    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: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    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:40,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: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    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:
    - Dst: load
      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: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - load
    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:46,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h: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::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: fetch_add
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:49,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    - fetch_add
    - static_cast<int64_t>
    - 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: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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:60,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:61,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: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    - absl::Span<void*>::size
    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:66,1
    - Dst: lower_bound
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:69,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:70,1
    - Dst: auto::second::span::last_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - begin
    - PageIdContaining
    - auto::second::span::last_page
    - 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:84,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:84,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:84,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:85,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:87,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:87,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:96,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: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - Span::Span
    - std::align_val_t
    - PageIdContaining
    - emplace
    - Length::in_bytes
    - ::operator new
    - Range
    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:104,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:104,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:105,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:105,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:106,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - free_spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 1
    functionsReached:
    - std::align_val_t
    - ::operator delete
    - first_page
    - start_address
    - find
    - EXPECT_NE
    - end
    - erase
    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:133,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:134,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:136,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:137,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:139,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:140,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:142,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:145,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:148,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:151,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:154,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:157,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:160,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    - ON_CALL
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    linkageType: ''
    returnType: void
    signature: void RawMockStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    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:202,1
    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::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: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      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: 205
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::num_priority_lists
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    linkageType: ''
    returnType: size_t
    signature: size_t num_priority_lists() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:211,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    - priority_list_length
    argTypes:
    - size_t
    - size_t
    - size_t
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - Init
    - forwarder
    linkageType: ''
    returnType: void
    signature: "void FakeCentralFreeListEnvironment(\n      size_t class_size, size_t
      pages, size_t num_objects_to_move,\n      PriorityListLength priority_list_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:215,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: ~FakeCentralFreeListEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - length
    - EXPECT_EQ
    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: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    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: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    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:40,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: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    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:
    - Dst: load
      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: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - load
    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:46,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h: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::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: fetch_add
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:49,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    - fetch_add
    - static_cast<int64_t>
    - 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: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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:60,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:61,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: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    - absl::Span<void*>::size
    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:66,1
    - Dst: lower_bound
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:69,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:70,1
    - Dst: auto::second::span::last_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - begin
    - PageIdContaining
    - auto::second::span::last_page
    - 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:84,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:84,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:84,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:85,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:87,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:87,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:96,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: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - Span::Span
    - std::align_val_t
    - PageIdContaining
    - emplace
    - Length::in_bytes
    - ::operator new
    - Range
    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:104,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:104,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:105,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:105,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:106,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - free_spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 2
    functionsReached:
    - std::align_val_t
    - ::operator delete
    - first_page
    - start_address
    - find
    - EXPECT_NE
    - end
    - erase
    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:133,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:134,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:136,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:137,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:139,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:140,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:142,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:145,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:148,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:151,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:154,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:157,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:160,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    - ON_CALL
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    linkageType: ''
    returnType: void
    signature: void RawMockStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    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:202,1
    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::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: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      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: 205
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::num_priority_lists
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    linkageType: ''
    returnType: size_t
    signature: size_t num_priority_lists() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:211,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    - priority_list_length
    argTypes:
    - size_t
    - size_t
    - size_t
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - Init
    - forwarder
    linkageType: ''
    returnType: void
    signature: "void FakeCentralFreeListEnvironment(\n      size_t class_size, size_t
      pages, size_t num_objects_to_move,\n      PriorityListLength priority_list_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:215,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: ~FakeCentralFreeListEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - length
    - EXPECT_EQ
    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: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    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: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    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:40,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: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    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:
    - Dst: load
      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: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_now
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - load
    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:46,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h: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::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: fetch_add
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:49,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AdvanceClock
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::clock_frequency
    - fetch_add
    - static_cast<int64_t>
    - 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: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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:60,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:61,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: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    - absl::Span<void*>::size
    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:66,1
    - Dst: lower_bound
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:69,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:70,1
    - Dst: auto::second::span::last_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectToSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 4
    functionsReached:
    - begin
    - PageIdContaining
    - auto::second::span::last_page
    - 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:84,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:84,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:84,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:85,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:87,1
    - Dst: Span::Span
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:87,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:96,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: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - Span::Span
    - std::align_val_t
    - PageIdContaining
    - emplace
    - Length::in_bytes
    - ::operator new
    - Range
    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:104,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:104,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:105,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:105,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:106,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    - Dst: start_address
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - free_spans
    argTypes:
    - absl::Span<Span*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 3
    functionsReached:
    - std::align_val_t
    - ::operator delete
    - first_page
    - start_address
    - find
    - EXPECT_NE
    - end
    - erase
    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:133,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:134,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:136,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:137,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:139,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:140,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:142,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:145,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:148,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:151,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:154,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:157,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:160,1
    - Dst: tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: tcmalloc::tcmalloc_internal::RawMockStaticForwarder::RawMockStaticForwarder
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_pages
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::class_to_size
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::AllocateSpan
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::num_objects_to_move
    - ON_CALL
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::DeallocateSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::MapObjectsToSpans
    - tcmalloc::tcmalloc_internal::FakeStaticForwarder::Init
    linkageType: ''
    returnType: void
    signature: void RawMockStaticForwarder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    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:202,1
    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::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: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      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: 205
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::num_priority_lists
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    linkageType: ''
    returnType: size_t
    signature: size_t num_priority_lists() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:211,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - class_size
    - pages
    - num_objects_to_move
    - priority_list_length
    argTypes:
    - size_t
    - size_t
    - size_t
    - PriorityListLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: tcmalloc::tcmalloc_internal::FakeCentralFreeListEnvironment::FakeCentralFreeListEnvironment
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - Init
    - forwarder
    linkageType: ''
    returnType: void
    signature: "void FakeCentralFreeListEnvironment(\n      size_t class_size, size_t
      pages, size_t num_objects_to_move,\n      PriorityListLength priority_list_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:215,1
    - Dst: length
      Src: /src/tcmalloc/tcmalloc/mock_static_forwarder.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: ~FakeCentralFreeListEnvironment()
    functionSourceFile: /src/tcmalloc/tcmalloc/mock_static_forwarder.h
    functionUses: 0
    functionsReached:
    - length
    - EXPECT_EQ
    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: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    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:
    - transfer_cache
    - arena
    - 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:38,1
    - Dst: TCMalloc_Internal_SetBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/parameters.h:43,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:43,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:57,1
    - Dst: TCMalloc_Internal_SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:61,1
    - Dst: TCMalloc_Internal_SetMaxPerCpuCacheSize
      Src: /src/tcmalloc/tcmalloc/parameters.h:67,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:71,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:75,1
    - Dst: TCMalloc_Internal_SetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/parameters.h:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:79,1
    - Dst: TCMalloc_Internal_SetMaxTotalThreadCacheBytes
      Src: /src/tcmalloc/tcmalloc/parameters.h:83,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:87,1
    - Dst: TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
      Src: /src/tcmalloc/tcmalloc/parameters.h:91,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:95,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:101,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:107,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:111,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:115,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/parameters.h:121,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:128,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:132,1
    - Dst: TCMalloc_Internal_SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:136,1
    - Dst: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:143,1
    - Dst: TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/parameters.h:149,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:155,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:158,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:162,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
      Src: /src/tcmalloc/tcmalloc/parameters.h:166,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:170,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
      Src: /src/tcmalloc/tcmalloc/parameters.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 232
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 0
    functionsReached:
    - TCMalloc_Internal_SetMaxPerCpuCacheSize
    - TCMalloc_Internal_SetMaxTotalThreadCacheBytes
    - static_cast<uint8_t>
    - load
    - TCMalloc_Internal_SetPeakSamplingHeapGrowthFraction
    - TCMalloc_Internal_SetMinHotAccessHint
    - TCMalloc_Internal_SetGuardedSamplingInterval
    - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseShortInterval
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
    - TCMalloc_Internal_SetBackgroundReleaseRate
    - TC_LOG
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
    - TCMalloc_Internal_SetProfileSamplingInterval
    - TCMalloc_Internal_SetHugePageFillerSkipSubreleaseLongInterval
    - TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
    - TCMalloc_Internal_SetPerCpuCachesEnabled
    - static_cast<size_t>
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    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:43,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MallocExtension::BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::Parameters::set_background_release_rate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetBackgroundReleaseRate
    - static_cast<size_t>
    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: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::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:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    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:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 84
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    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:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    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:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::Parameters::release_free_swapped
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool release_free_swapped()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.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::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: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_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: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::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:121,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 8
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesEnabled
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 137
    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:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 144
    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:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 150
    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: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:155,1
    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: 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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    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:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    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:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 175
    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:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    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:43,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MallocExtension::BytesPerSecond
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tcmalloc_internal::Parameters::set_background_release_rate
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - TCMalloc_Internal_SetBackgroundReleaseRate
    - static_cast<size_t>
    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: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::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:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/parameters.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    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:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 84
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    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:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    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:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::Parameters::release_free_swapped
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool release_free_swapped()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.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::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: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_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: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::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:121,1
    - Dst: TCMalloc_Internal_SetPerCpuCachesEnabled
      Src: /src/tcmalloc/tcmalloc/parameters.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::Parameters::set_per_cpu_caches
    functionSourceFile: /src/tcmalloc/tcmalloc/parameters.h
    functionUses: 8
    functionsReached:
    - TCMalloc_Internal_SetPerCpuCachesEnabled
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: void set_per_cpu_caches(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 137
    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:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 144
    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:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 150
    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: load
      Src: /src/tcmalloc/tcmalloc/parameters.h:155,1
    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: 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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    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:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    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:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 175
    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:
    - n::raw_num
    - soft_limit_exceeded::in_mib
    - Free
    - release_memory_to_system::in_mib
    - returned_pages::in_bytes
    - in_mib
    - total::raw_num
    - total::in_mib
    - process_background_actions::raw_num
    - strlen
    - BytesToMiB
    - static_cast<int64_t>
    - Alloc
    - PageHeapEntry::PrintInPbtxt
    - auto::in_bytes
    - hard_limit_exceeded::in_mib
    - auto::PrintDouble
    - Length
    - absl::base_internal::CycleClock::Now
    - returned_pages::in_mib
    - auto::raw_num
    - soft_limit_exceeded::raw_num
    - raw_num
    - in_bytes
    - Length::raw_num
    - CreateSubRegion
    - TimeTicks
    - normal_pages::in_bytes
    - absl::bit_width
    - Length::in_bytes
    - print_counts
    - static_cast<double>
    - std::max
    - PrintRightAdjustedWithPrefix
    - release_memory_to_system::raw_num
    - auto::PrintI64
    - hard_limit_exceeded::raw_num
    - process_background_actions::in_mib
    - PrintI64
    - printf
    - RoundUp
    - Length::in_mib
    - static_cast<size_t>
    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:
    - Length::raw_num
    - strlen
    - printf
    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:
    - tcmalloc_internal::raw_num
    - tcmalloc_internal::PrintRightAdjustedWithPrefix
    - Length
    - tcmalloc_internal::in_mib
    - returned_pages::in_mib
    - tcmalloc_internal::BytesToMiB
    - printf
    - Length::in_mib
    - static_cast<size_t>
    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:
    - CreateSubRegion
    - auto::PrintI64
    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:
    - tcmalloc_internal::raw_num
    - PageHeapEntry::PrintInPbtxt
    - auto::in_bytes
    - normal_pages::in_bytes
    - Length
    - PrintI64
    - Length::in_bytes
    - returned_pages::in_bytes
    - auto::raw_num
    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
    - process_background_actions::raw_num
    - soft_limit_exceeded::in_mib
    - hard_limit_exceeded::raw_num
    - process_background_actions::in_mib
    - soft_limit_exceeded::raw_num
    - hard_limit_exceeded::in_mib
    - release_memory_to_system::raw_num
    - Length
    - release_memory_to_system::in_mib
    - total::in_mib
    - printf
    - in_mib
    - total::raw_num
    - print_counts
    - Length::in_mib
    - auto::raw_num
    - 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:
    - raw_num
    - in_bytes
    - auto::PrintI64
    - static_cast<int64_t>
    - process_background_actions::raw_num
    - hard_limit_exceeded::raw_num
    - CreateSubRegion
    - auto::PrintDouble
    - soft_limit_exceeded::raw_num
    - release_memory_to_system::raw_num
    - Length
    - PrintI64
    - Length::in_bytes
    - total::raw_num
    - print_counts
    - static_cast<double>
    - auto::raw_num
    - tcmalloc_internal::PageAllocInfo::TimeTicks
    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:
    - in_bytes
    - raw_num
    - tcmalloc_internal::PageAllocInfo::Alloc
    - absl::bit_width
    - Length
    - Range::n::raw_num
    - RoundUp
    - std::max
    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
    - Range::n::raw_num
    - tcmalloc_internal::PageAllocInfo::Free
    - 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:
    - Length::raw_num
    - strlen
    - printf
    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:
    - tcmalloc_internal::raw_num
    - tcmalloc_internal::PrintRightAdjustedWithPrefix
    - Length
    - tcmalloc_internal::in_mib
    - returned_pages::in_mib
    - tcmalloc_internal::BytesToMiB
    - printf
    - Length::in_mib
    - static_cast<size_t>
    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:
    - CreateSubRegion
    - auto::PrintI64
    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:
    - tcmalloc_internal::raw_num
    - PageHeapEntry::PrintInPbtxt
    - auto::in_bytes
    - normal_pages::in_bytes
    - Length
    - PrintI64
    - Length::in_bytes
    - returned_pages::in_bytes
    - auto::raw_num
    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
    - process_background_actions::raw_num
    - soft_limit_exceeded::in_mib
    - hard_limit_exceeded::raw_num
    - process_background_actions::in_mib
    - soft_limit_exceeded::raw_num
    - hard_limit_exceeded::in_mib
    - release_memory_to_system::raw_num
    - Length
    - release_memory_to_system::in_mib
    - total::in_mib
    - printf
    - in_mib
    - total::raw_num
    - print_counts
    - Length::in_mib
    - auto::raw_num
    - 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:
    - raw_num
    - in_bytes
    - auto::PrintI64
    - static_cast<int64_t>
    - process_background_actions::raw_num
    - hard_limit_exceeded::raw_num
    - CreateSubRegion
    - auto::PrintDouble
    - soft_limit_exceeded::raw_num
    - release_memory_to_system::raw_num
    - Length
    - PrintI64
    - Length::in_bytes
    - total::raw_num
    - print_counts
    - static_cast<double>
    - auto::raw_num
    - tcmalloc_internal::PageAllocInfo::TimeTicks
    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:
    - in_bytes
    - raw_num
    - tcmalloc_internal::PageAllocInfo::Alloc
    - absl::bit_width
    - Length
    - Range::n::raw_num
    - RoundUp
    - std::max
    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
    - Range::n::raw_num
    - tcmalloc_internal::PageAllocInfo::Free
    - 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
    - std::move
    - auto::SetStartTime
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - std::make_unique<StackTraceTable>
    - sampled_allocation_recorder
    - auto::AddTrace
    - UnregisterAll
    - absl::Now
    - Iterate
    - AssertHeld
    - Register
    - IsNewPeak
    - sampled_objects_size_::value
    - static_cast<double>
    - CurrentPeakSize
    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:
    - sampled_objects_size_::value
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - static_cast<double>
    - tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
    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
    - std::move
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - sampled_allocation_recorder
    - UnregisterAll
    - absl::Now
    - tcmalloc_internal::PeakHeapTracker::IsNewPeak
    - AssertHeld
    - Register
    - sampled_objects_size_::value
    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>
    - auto::AddTrace
    - Iterate
    - auto::SetStartTime
    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:
    - sampled_objects_size_::value
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - static_cast<double>
    - tcmalloc_internal::PeakHeapTracker::CurrentPeakSize
    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
    - std::move
    - tcmalloc_internal::Parameters::peak_sampling_heap_growth_fraction
    - sampled_allocation_recorder
    - UnregisterAll
    - absl::Now
    - tcmalloc_internal::PeakHeapTracker::IsNewPeak
    - AssertHeld
    - Register
    - sampled_objects_size_::value
    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>
    - auto::AddTrace
    - Iterate
    - auto::SetStartTime
    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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:96,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:102,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:104,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:106,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:111,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:115,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:121,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:125,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:141,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:144,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:159,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:178,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:181,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:185,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:189,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:191,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:193,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:199,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:203,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:205,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:215,1
    - Dst: Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:217,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:227,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:231,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:232,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:236,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:239,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 256
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - span
    - free
    - emplace
    - PageIdContaining
    - TC_CHECK_GT
    - sizemap
    - KeepRunningBatch
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - SkipWithMessage
    - range
    - RawSpan::span
    - auto::in_bytes
    - tcmalloc_internal::HugeRegion::MaybeGet
    - Length
    - BENCHMARK
    - posix_memalign
    - BuildFreelist
    - Range
    - Init
    - back
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::Init
    - absl::Uniform
    - has_value
    - Span*::num_pages
    - FreelistPushBatch
    - tcmalloc_internal::Span::Delete
    - SetItemsProcessed
    - page_allocator
    - Span*::first_page
    - start_address
    - tcmalloc_internal::Span::CalcReciprocal
    - iterations
    - Span*::donated
    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:
    - auto::in_bytes
    - emplace
    - PageIdContaining
    - Length
    - TC_CHECK_GT
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - Range
    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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::BM_single_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::span
    - RawSpan::Init
    - sizemap
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPushBatch
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_single_span(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:102,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:104,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:106,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:111,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:115,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:121,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:125,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::BM_single_span_fulldrain
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::span
    - RawSpan::Init
    - sizemap
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPushBatch
    - SetItemsProcessed
    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:178,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:181,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:185,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:189,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:191,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:193,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::BM_NewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - Length
    - page_allocator
    - Span*::first_page
    - iterations
    - Span*::num_pages
    - benchmark::DoNotOptimize
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    - tcmalloc_internal::Range
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_NewDelete(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:203,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:205,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:215,1
    - Dst: tcmalloc_internal::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:217,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:227,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:231,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:232,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::BM_multiple_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - span
    - absl::MakeSpan
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - TC_CHECK_GT
    - KeepRunningBatch
    - absl::Uniform
    - tcmalloc_internal::Span::CalcReciprocal
    - back
    - tcmalloc_internal::Init
    - SetItemsProcessed
    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:
    - auto::in_bytes
    - emplace
    - PageIdContaining
    - Length
    - TC_CHECK_GT
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - Range
    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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::BM_single_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::span
    - RawSpan::Init
    - sizemap
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPushBatch
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_single_span(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:102,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:104,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:106,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:111,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:115,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:121,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:125,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::BM_single_span_fulldrain
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::span
    - RawSpan::Init
    - sizemap
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPushBatch
    - SetItemsProcessed
    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:178,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:181,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:185,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:189,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:191,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:193,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::BM_NewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - Length
    - page_allocator
    - Span*::first_page
    - iterations
    - Span*::num_pages
    - benchmark::DoNotOptimize
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    - tcmalloc_internal::Range
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_NewDelete(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:203,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:205,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:215,1
    - Dst: tcmalloc_internal::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:217,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:227,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:231,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:232,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::BM_multiple_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - span
    - absl::MakeSpan
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - TC_CHECK_GT
    - KeepRunningBatch
    - absl::Uniform
    - tcmalloc_internal::Span::CalcReciprocal
    - back
    - tcmalloc_internal::Init
    - SetItemsProcessed
    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:
    - auto::in_bytes
    - emplace
    - PageIdContaining
    - Length
    - TC_CHECK_GT
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - Range
    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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::BM_single_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::span
    - RawSpan::Init
    - sizemap
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPushBatch
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_single_span(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:102,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:104,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:106,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:111,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:115,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:121,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:125,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::BM_single_span_fulldrain
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::span
    - RawSpan::Init
    - sizemap
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPushBatch
    - SetItemsProcessed
    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:178,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:181,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:185,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:189,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:191,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:193,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::BM_NewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - Length
    - page_allocator
    - Span*::first_page
    - iterations
    - Span*::num_pages
    - benchmark::DoNotOptimize
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    - tcmalloc_internal::Range
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_NewDelete(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:203,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:205,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:215,1
    - Dst: tcmalloc_internal::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:217,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:227,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:231,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:232,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::BM_multiple_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - span
    - absl::MakeSpan
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - TC_CHECK_GT
    - KeepRunningBatch
    - absl::Uniform
    - tcmalloc_internal::Span::CalcReciprocal
    - back
    - tcmalloc_internal::Init
    - SetItemsProcessed
    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:
    - auto::in_bytes
    - emplace
    - PageIdContaining
    - Length
    - TC_CHECK_GT
    - sizemap
    - posix_memalign
    - TC_CHECK_EQ
    - BuildFreelist
    - Range
    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: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:91,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::BM_single_span
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::span
    - RawSpan::Init
    - sizemap
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPushBatch
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_single_span(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:102,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:104,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:106,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:109,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:110,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:111,1
    - Dst: RawSpan::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:114,1
    - Dst: RawSpan::span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:115,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:121,1
    - Dst: FreelistPopBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:124,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:125,1
    - Dst: FreelistPushBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:133,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 142
    functionName: tcmalloc_internal::BM_single_span_fulldrain
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - absl::MakeSpan
    - FreelistPopBatch
    - RawSpan::span
    - RawSpan::Init
    - sizemap
    - KeepRunningBatch
    - tcmalloc_internal::Span::CalcReciprocal
    - FreelistPushBatch
    - SetItemsProcessed
    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:178,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:178,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:181,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:185,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:188,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:189,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:191,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:193,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: tcmalloc_internal::BM_NewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - Length
    - page_allocator
    - Span*::first_page
    - iterations
    - Span*::num_pages
    - benchmark::DoNotOptimize
    - tcmalloc_internal::Span::Delete
    - Span*::donated
    - tcmalloc_internal::Range
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_NewDelete(benchmark::State& state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:202,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:203,1
    - Dst: SkipWithMessage
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:205,1
    - Dst: tcmalloc_internal::HugeRegion::MaybeGet
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:211,1
    - Dst: tcmalloc_internal::Span::CalcReciprocal
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:213,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:214,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:215,1
    - Dst: tcmalloc_internal::Init
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:217,1
    - Dst: KeepRunningBatch
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:224,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:225,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:226,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:227,1
    - Dst: span
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:231,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:232,1
    - Dst: SetItemsProcessed
      Src: /src/tcmalloc/tcmalloc/span_benchmark.cc:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: tcmalloc_internal::BM_multiple_spans
    functionSourceFile: /src/tcmalloc/tcmalloc/span_benchmark.cc
    functionUses: 0
    functionsReached:
    - SkipWithMessage
    - range
    - span
    - absl::MakeSpan
    - tcmalloc_internal::HugeRegion::MaybeGet
    - sizemap
    - TC_CHECK_GT
    - KeepRunningBatch
    - absl::Uniform
    - tcmalloc_internal::Span::CalcReciprocal
    - back
    - tcmalloc_internal::Init
    - SetItemsProcessed
    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:
    - ColdFeatureActive
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, ColdFeatureActivation)
  - BBCount: 2
    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: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:57,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:59,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:59,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:59,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:60,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:60,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:65,1
    - Dst: SizeMap::ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:65,1
    - Dst: ElementsAreArray
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - ElementsAreArray
    - SizeMap::ColdSizeClasses
    - numa_topology
    - EXPECT_THAT
    - GTEST_SKIP
    - CppPolicy
    - std::vector::push_back
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, ColdSizeClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:71,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:76,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:76,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:81,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:81,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:81,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:82,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:82,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - numa_topology
    - GTEST_SKIP
    - CppPolicy
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, VerifyAllocationFullRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:93,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:96,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:96,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:97,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:97,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:98,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:98,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:102,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:102,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:104,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:104,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:106,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:106,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - SizeMap::class_to_size_range
    - EXPECT_THAT
    - Pair
    - SizeMap::Init
    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:
    - ColdFeatureActive
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, ColdFeatureActivation)
  - BBCount: 2
    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: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:57,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:59,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:59,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:59,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:60,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:60,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:65,1
    - Dst: SizeMap::ColdSizeClasses
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:65,1
    - Dst: ElementsAreArray
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - ElementsAreArray
    - SizeMap::ColdSizeClasses
    - numa_topology
    - EXPECT_THAT
    - GTEST_SKIP
    - CppPolicy
    - std::vector::push_back
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, ColdSizeClasses)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:71,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:76,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:76,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:81,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:81,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:81,1
    - Dst: SizeMap::SizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:82,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:82,1
    - Dst: numa_topology
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - SizeMap::SizeClass
    - EXPECT_TRUE
    - numa_topology
    - GTEST_SKIP
    - CppPolicy
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(ColdSizeClassTest, VerifyAllocationFullRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:93,1
    - Dst: SizeMap::Init
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:96,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:96,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:97,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:97,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:98,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:98,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:102,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:102,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:104,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:104,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:106,1
    - Dst: SizeMap::class_to_size_range
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:106,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/sizemap_test.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - SizeMap::class_to_size_range
    - EXPECT_THAT
    - Pair
    - SizeMap::Init
    linkageType: ''
    returnType: void
    signature: void TEST(SizeMapTest, ClassToSizeRange)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:50,1
    - Dst: GuardedPageAllocator::GuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:58,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:61,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:64,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:72,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:79,1
    - Dst: GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:80,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:84,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:87,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:91,1
    - Dst: GetGpaPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:91,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:92,1
    - Dst: std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:96,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:104,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:108,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:115,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:123,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:130,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:130,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:131,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:136,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:136,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:142,1
    - Dst: GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:143,1
    - Dst: GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:161,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:171,1
    - Dst: GetGpaPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:172,1
    - Dst: BENCHMARK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 183
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto*::TrySample
    - auto::Allocate
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - TC_CHECK_EQ
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - range
    - StackTrace::StackTrace
    - reinterpret_cast<char*>
    - BENCHMARK
    - Length
    - GuardedPageAllocator::GuardedPageAllocator
    - auto::Deallocate
    - auto*::Deallocate
    - total_sampled_count_::Add
    - reinterpret_cast<void*>
    - TC_CHECK_NE
    - std::atomic::store
    - GetPageSize
    - auto::TrySample
    - std::max
    - auto::AllowAllocations
    - TC_CHECK
    - auto::Init
    - GetStackTrace
    - std::vector<std::unique_ptr<void, std::function<void(void*)>>>::function<void(void*)>>>
    - GetGpaPageSize
    - iterations
    - auto::Reset
    - GetGuardedPageAllocator
    - GetReserved
    - static_cast<size_t>
    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:44,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: tcmalloc_internal::GetGpaPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetPageSize
    - tcmalloc_internal::max
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetGpaPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - first_frame
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 105
    functionsReached:
    - StackTrace::StackTrace
    - reinterpret_cast<void*>
    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:58,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:61,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:64,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::GetGuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - auto::Init
    - GuardedPageAllocator::GuardedPageAllocator
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - auto::Reset
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::AllowAllocations
    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:79,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:80,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:84,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::BM_AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - range
    - tcmalloc_internal::GetStackTrace
    - tcmalloc_internal::GetGuardedPageAllocator
    - reinterpret_cast<char*>
    - auto::Allocate
    - auto::Deallocate
    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:96,1
    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_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:102,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:104,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:108,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:115,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::ReservePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::GetStackTrace
    - auto*::TrySample
    - tcmalloc_internal::GetGuardedPageAllocator
    - Length
    - tcmalloc_internal::GetReserved
    - auto*::Deallocate
    - total_sampled_count_::Add
    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:130,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:130,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    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:136,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:136,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:142,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:143,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:161,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::BM_TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - range
    - tcmalloc_internal::GetStackTrace
    - TC_CHECK_NE
    - tcmalloc_internal::GetGuardedPageAllocator
    - std::atomic::store
    - auto::TrySample
    - Length
    - tcmalloc_internal::GetReserved
    - iterations
    - TC_CHECK_EQ
    - total_sampled_count_::Add
    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:44,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: tcmalloc_internal::GetGpaPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetPageSize
    - tcmalloc_internal::max
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetGpaPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - first_frame
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 108
    functionsReached:
    - StackTrace::StackTrace
    - reinterpret_cast<void*>
    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:58,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:61,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:64,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::GetGuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 3
    functionsReached:
    - auto::Init
    - GuardedPageAllocator::GuardedPageAllocator
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - auto::Reset
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::AllowAllocations
    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:79,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:80,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:84,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::BM_AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - range
    - tcmalloc_internal::GetStackTrace
    - tcmalloc_internal::GetGuardedPageAllocator
    - reinterpret_cast<char*>
    - auto::Allocate
    - auto::Deallocate
    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:96,1
    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_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:102,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:104,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:108,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:115,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::ReservePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::GetStackTrace
    - auto*::TrySample
    - tcmalloc_internal::GetGuardedPageAllocator
    - Length
    - tcmalloc_internal::GetReserved
    - auto*::Deallocate
    - total_sampled_count_::Add
    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:130,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:130,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    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:136,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:136,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:142,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:143,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:161,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::BM_TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - range
    - tcmalloc_internal::GetStackTrace
    - TC_CHECK_NE
    - tcmalloc_internal::GetGuardedPageAllocator
    - std::atomic::store
    - auto::TrySample
    - Length
    - tcmalloc_internal::GetReserved
    - iterations
    - TC_CHECK_EQ
    - total_sampled_count_::Add
    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:44,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: tcmalloc_internal::GetGpaPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetPageSize
    - tcmalloc_internal::max
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetGpaPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - first_frame
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 111
    functionsReached:
    - StackTrace::StackTrace
    - reinterpret_cast<void*>
    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:58,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:61,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:64,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::GetGuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 6
    functionsReached:
    - auto::Init
    - GuardedPageAllocator::GuardedPageAllocator
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - auto::Reset
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::AllowAllocations
    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:79,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:80,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:84,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::BM_AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - range
    - tcmalloc_internal::GetStackTrace
    - tcmalloc_internal::GetGuardedPageAllocator
    - reinterpret_cast<char*>
    - auto::Allocate
    - auto::Deallocate
    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:96,1
    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_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:102,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:104,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:108,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:115,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::ReservePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::GetStackTrace
    - auto*::TrySample
    - tcmalloc_internal::GetGuardedPageAllocator
    - Length
    - tcmalloc_internal::GetReserved
    - auto*::Deallocate
    - total_sampled_count_::Add
    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:130,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:130,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    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:136,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:136,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:142,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:143,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:161,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::BM_TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - range
    - tcmalloc_internal::GetStackTrace
    - TC_CHECK_NE
    - tcmalloc_internal::GetGuardedPageAllocator
    - std::atomic::store
    - auto::TrySample
    - Length
    - tcmalloc_internal::GetReserved
    - iterations
    - TC_CHECK_EQ
    - total_sampled_count_::Add
    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:44,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    - Dst: tcmalloc_internal::GetPageSize
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: tcmalloc_internal::GetGpaPageSize
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetPageSize
    - tcmalloc_internal::max
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GetGpaPageSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StackTrace::StackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:49,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - first_frame
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: tcmalloc_internal::GetStackTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 114
    functionsReached:
    - StackTrace::StackTrace
    - reinterpret_cast<void*>
    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:58,1
    - Dst: auto::Init
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:60,1
    - Dst: auto::AllowAllocations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:61,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:63,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:64,1
    - Dst: auto::Reset
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: tcmalloc_internal::GetGuardedPageAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 9
    functionsReached:
    - auto::Init
    - GuardedPageAllocator::GuardedPageAllocator
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - auto::Reset
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - auto::AllowAllocations
    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:79,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:80,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:82,1
    - Dst: auto::Allocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:84,1
    - Dst: auto::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: tcmalloc_internal::BM_AllocDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - range
    - tcmalloc_internal::GetStackTrace
    - tcmalloc_internal::GetGuardedPageAllocator
    - reinterpret_cast<char*>
    - auto::Allocate
    - auto::Deallocate
    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:96,1
    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_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:102,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:102,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:103,1
    - Dst: auto*::Deallocate
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:104,1
    - Dst: auto*::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:107,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:108,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:111,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:115,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::ReservePool
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::GetStackTrace
    - auto*::TrySample
    - tcmalloc_internal::GetGuardedPageAllocator
    - Length
    - tcmalloc_internal::GetReserved
    - auto*::Deallocate
    - total_sampled_count_::Add
    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:130,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:130,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    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:136,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:136,1
    - Dst: range
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:142,1
    - Dst: tcmalloc_internal::GetGuardedPageAllocator
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:143,1
    - Dst: tcmalloc_internal::GetStackTrace
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: tcmalloc_internal::GetReserved
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:147,1
    - Dst: auto::TrySample
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:149,1
    - Dst: total_sampled_count_::Add
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:153,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:156,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:159,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:160,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:161,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:162,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:165,1
    - Dst: iterations
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::BM_TrySample
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator_benchmark.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - range
    - tcmalloc_internal::GetStackTrace
    - TC_CHECK_NE
    - tcmalloc_internal::GetGuardedPageAllocator
    - std::atomic::store
    - auto::TrySample
    - Length
    - tcmalloc_internal::GetReserved
    - iterations
    - TC_CHECK_EQ
    - total_sampled_count_::Add
    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:95,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:96,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:98,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:100,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:101,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:108,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:110,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:115,1
    - Dst: span_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:122,1
    - Dst: sampledallocation_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:123,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:124,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:125,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:129,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:130,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:131,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:132,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:134,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:137,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:142,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:145,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:159,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:160,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:162,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:165,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:169,1
    - Dst: pagemap_residence
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:179,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:181,1
    - Dst: ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:189,1
    - Dst: StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:201,1
    - Dst: StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:219,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:219,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:219,1
    - Dst: StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:225,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:225,1
    - Dst: StatSub
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:236,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:249,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: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:254,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:261,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:265,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:280,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:285,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:287,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:289,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:303,1
    - Dst: ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:312,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:314,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:319,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:323,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:324,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:325,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:326,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:329,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:333,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:408,1
    - Dst: CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:411,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:416,1
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:419,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:421,1
    - Dst: PrintHooksState
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:423,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:424,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:428,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:429,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:430,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:433,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:437,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:446,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:453,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:454,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:455,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:456,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:457,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:462,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:465,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:470,1
    - Dst: num_live_spans
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:472,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:473,1
    - Dst: prob_returned
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:476,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: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:487,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:489,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:490,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:491,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:493,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:496,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:497,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:498,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:499,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:502,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:504,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:508,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:512,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:514,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:518,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:519,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:521,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:522,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:526,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:527,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:528,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:530,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:531,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:532,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:534,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:535,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:536,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:538,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:540,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:543,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:544,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:545,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:546,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:548,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:549,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:551,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:552,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:555,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:556,1
    - Dst: TCMallocStats::num_released_total::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:557,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:558,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:561,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:563,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:566,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:568,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:571,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:572,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:573,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:577,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:578,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:580,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:582,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:583,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:585,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:586,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:587,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:589,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:591,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:594,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:596,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:597,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:599,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:601,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:603,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:604,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:605,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:606,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:608,1
    - Dst: SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:610,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:610,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:611,1
    - Dst: PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:612,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:612,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:614,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:615,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:616,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:618,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:620,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:621,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:622,1
    - Dst: tcmalloc_internal::Parameters::release_free_swapped
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:623,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:624,1
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:625,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:626,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:629,1
    - Dst: tcmalloc_internal::Parameters::span_lifetime_tracking
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:630,1
    - Dst: ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:642,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:644,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:647,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:648,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:649,1
    - Dst: UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:650,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:657,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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:662,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:666,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:667,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:668,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:669,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:670,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:671,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:672,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:673,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:674,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:676,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:678,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:680,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:681,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:682,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:683,1
    - Dst: PbtxtRegion::PrintI64
      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:687,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:688,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:690,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:693,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:693,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:694,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:695,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:696,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:697,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:698,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:701,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:702,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:703,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:704,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:706,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:707,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:708,1
    - Dst: GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:713,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:714,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:718,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:719,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:724,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:725,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:726,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:727,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:728,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:729,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:731,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:733,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:734,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:735,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:737,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:740,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:740,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:742,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:743,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:745,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:746,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:751,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:753,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:754,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:757,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:759,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:763,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:767,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:768,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:769,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:770,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:771,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:772,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:773,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:775,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:777,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:779,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:782,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:784,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:786,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:787,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:790,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:791,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:792,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:793,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:796,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:797,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:800,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:801,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:804,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:805,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:806,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:807,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:808,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:810,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:811,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:812,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:814,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:815,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:816,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:817,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:818,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:819,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:821,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:822,1
    - Dst: PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:823,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:823,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:824,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:825,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: HeapPartitioningModeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:828,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:829,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:830,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:830,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:831,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:832,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:833,1
    - Dst: tcmalloc_internal::Parameters::release_free_swapped
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:833,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:834,1
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:835,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:837,1
    - Dst: SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:839,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:839,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:840,1
    - Dst: MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:840,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:841,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:842,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:843,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:845,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:845,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:846,1
    - Dst: tcmalloc_internal::Parameters::span_lifetime_tracking
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:847,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:854,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:855,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:860,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:866,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:867,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:873,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:874,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:881,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:882,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:888,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:889,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:895,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:896,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:897,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:906,1
    - Dst: HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:907,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:913,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:920,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:927,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:936,1
    - Dst: SlackBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:937,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:944,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:952,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:953,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:958,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:963,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:970,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:977,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:984,1
    - Dst: LocalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:985,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:991,1
    - Dst: ExternalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:992,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:998,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1005,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1015,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1019,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1023,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1027,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1032,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1052,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1052,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1059,1
    - Dst: RequiredBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1060,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1065,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1067,1
    - Dst: absl::StripPrefix
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1067,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1068,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1069,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 493
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 1079
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - WalkExperiments
    - tcmalloc_internal::Parameters::background_release_rate
    - ASSUME
    - sizemap
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - VirtualMemoryUsed
    - MadviseString
    - PbtxtRegion::PrintRaw
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    - absl::StartsWith
    - static_cast<int64_t>
    - PbtxtRegion::PrintBool
    - HeapSizeBytes
    - arena
    - sampled_objects_size_::value
    - in_bytes
    - TCMallocStats::num_released_process_background_actions::in_mib
    - cpu_cache
    - LocalBytes
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - std::optional::has_value
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - ExtractTCMallocStats
    - InUseByApp
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - printf
    - static_cast<size_t>
    - GetMemoryStats
    - TCMallocStats::num_released_total::in_pages
    - SlackBytes
    - system_allocator
    - linked_sample_allocator
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - TCMallocStats::num_released_process_background_actions::in_pages
    - PbtxtRegion::CreateSubRegion
    - active_partitions
    - tcmalloc_internal::Parameters::span_lifetime_tracking
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::Parameters::per_cpu_caches
    - CountAllowedCpus
    - tcmalloc_internal::Parameters::priority_list_length
    - num_live_spans
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - HeapPartitioningModeString
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - ABSL_UNREACHABLE
    - IsExperimentActive
    - transfer_cache
    - prob_returned
    - central_freelist
    - auto::PrintI64
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    - total_sampled_count_::value
    - sampledallocation_allocator
    - StatSub
    - TCMallocStats::num_released_hard_limit_exceeded::in_mib
    - sharded_transfer_cache
    - size_class_configuration
    - TCMallocStats::num_released_release_memory_to_system::in_mib
    - metadata_bytes
    - safe_div
    - RequiredBytes
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - UsePerCpuCache
    - size
    - multiple_non_numa_partitions
    - absl::StripPrefix
    - SizeClassConfigurationString
    - UnmappedBytes
    - ExtractStats
    - CpuCacheActive
    - CpuSet::Count
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - PrintHooksState
    - per_size_class_counts
    - tcmalloc_internal::ThreadCache::GetStats
    - TC_ASSERT_GE
    - TCMallocStats::num_released_soft_limit_exceeded::in_mib
    - span_allocator
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - peak_heap_tracker
    - TCMallocStats::num_released_total::in_mib
    - absl::FormatDuration
    - static_cast<uint64_t>
    - TC_ASSERT_NE
    - pagemap
    - static_cast<int>
    - absl::ToInt64Nanoseconds
    - FindExperimentByName
    - PerCpuTypeString
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - PhysicalMemoryUsed
    - ExternalBytes
    - guardedpage_allocator
    - CpuSet::GetAffinity
    - pagemap_residence
    - page_allocator
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - tcmalloc_internal::Parameters::release_free_swapped
    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:
    - system_allocator
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view MadviseString()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:95,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:96,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:98,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:100,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:101,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:108,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:110,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:115,1
    - Dst: span_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:122,1
    - Dst: sampledallocation_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:123,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:124,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:125,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:129,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:130,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:131,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:132,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:134,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:137,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:142,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:145,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:159,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:160,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:162,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:165,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:169,1
    - Dst: pagemap_residence
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:179,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 6
    argNames:
    - ' r'
    - absl_nullable class_count
    - absl_nullable
    - absl_nullable small_spans
    - absl_nullable large_spans
    - report_residence
    argTypes:
    - TCMallocStats
    - uint64_t*
    - SpanStats*
    - SmallSpanStats*
    - LargeSpanStats*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::ExtractStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - central_freelist
    - pagemap
    - metadata_bytes
    - cpu_cache
    - pagemap_residence
    - page_allocator
    - sizemap
    - linked_sample_allocator
    - sharded_transfer_cache
    - tcmalloc_internal::UsePerCpuCache
    - sampledallocation_allocator
    - tcmalloc_internal::ThreadCache::GetStats
    - arena
    - TC_ASSERT_GE
    - transfer_cache
    - span_allocator
    linkageType: ''
    returnType: void
    signature: "void ExtractStats(TCMallocStats& r, uint64_t* absl_nullable class_count,\n
      \                 SpanStats* absl_nullable span_stats,\n                  SmallSpanStats*
      absl_nullable small_spans,\n                  LargeSpanStats* absl_nullable
      large_spans,\n                  bool report_residence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - report_residence
    argTypes:
    - TCMallocStats
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 190
    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: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    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:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    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: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    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: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    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:219,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:219,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::PhysicalMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::StatSub
    - tcmalloc_internal::UnmappedBytes
    - tcmalloc_internal::VirtualMemoryUsed
    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:225,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::RequiredBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::PhysicalMemoryUsed
    - tcmalloc_internal::StatSub
    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: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    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:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    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: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    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: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    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:249,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: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' printer'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: tcmalloc_internal::PrintHooksState
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - size
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintHooksState(Printer& printer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:261,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - config
    argTypes:
    - SizeClassConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 282
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:285,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:287,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc_internal::HeapPartitioningModeString
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - active_partitions
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view HeapPartitioningModeString()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mode
    argTypes:
    - RseqVcpuMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 305
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:312,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:314,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:319,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:323,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:324,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:325,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:326,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:329,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:333,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:408,1
    - Dst: tcmalloc_internal::CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:411,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:416,1
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:419,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:421,1
    - Dst: tcmalloc_internal::PrintHooksState
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:423,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:424,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:428,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:429,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:430,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:433,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:437,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:446,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:453,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:454,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:455,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:456,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:457,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:462,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:465,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:470,1
    - Dst: tcmalloc_internal::num_live_spans
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:472,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:473,1
    - Dst: tcmalloc_internal::prob_returned
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:476,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: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:487,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:489,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:490,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:491,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:493,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:496,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:497,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:498,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:499,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:502,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:504,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:508,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:512,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:514,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:518,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:519,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:521,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:522,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:526,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:527,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:528,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:530,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:531,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:532,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:534,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:535,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:536,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:538,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:540,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:543,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:544,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:545,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:546,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:548,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:549,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:551,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:552,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:555,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:556,1
    - Dst: TCMallocStats::num_released_total::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:557,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:558,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:561,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:563,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:566,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:568,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:571,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:572,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:573,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:577,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:578,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:580,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:582,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:583,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:585,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:586,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:587,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:589,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:591,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:594,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:596,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:597,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:599,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:601,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:603,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:604,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:605,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:606,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:608,1
    - Dst: tcmalloc_internal::SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:610,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:610,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:611,1
    - Dst: tcmalloc_internal::PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:612,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:612,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: tcmalloc_internal::MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:614,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:615,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:616,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:618,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:620,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:621,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:622,1
    - Dst: tcmalloc_internal::Parameters::release_free_swapped
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:623,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:624,1
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:625,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:626,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:629,1
    - Dst: tcmalloc_internal::Parameters::span_lifetime_tracking
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 113
    argCount: 2
    argNames:
    - ' out'
    - level
    argTypes:
    - Printer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 635
    functionName: tcmalloc_internal::DumpStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - WalkExperiments
    - tcmalloc_internal::Parameters::background_release_rate
    - TCMallocStats::num_released_total::in_pages
    - tcmalloc_internal::PerCpuTypeString
    - per_size_class_counts
    - TCMallocStats::num_released_hard_limit_exceeded::in_mib
    - sizemap
    - tcmalloc_internal::VirtualMemoryUsed
    - sharded_transfer_cache
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - TCMallocStats::num_released_soft_limit_exceeded::in_mib
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - TCMallocStats::num_released_process_background_actions::in_pages
    - size_class_configuration
    - TCMallocStats::num_released_release_memory_to_system::in_mib
    - tcmalloc_internal::GetMemoryStats
    - active_partitions
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::safe_div
    - peak_heap_tracker
    - TCMallocStats::num_released_total::in_mib
    - tcmalloc_internal::PhysicalMemoryUsed
    - tcmalloc_internal::prob_returned
    - tcmalloc_internal::Parameters::span_lifetime_tracking
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - absl::FormatDuration
    - tcmalloc_internal::Parameters::per_cpu_caches
    - sampled_objects_size_::value
    - tcmalloc_internal::InUseByApp
    - TCMallocStats::num_released_process_background_actions::in_mib
    - multiple_non_numa_partitions
    - static_cast<int>
    - tcmalloc_internal::Parameters::priority_list_length
    - cpu_cache
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::CountAllowedCpus
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::SizeClassConfigurationString
    - tcmalloc_internal::ExtractTCMallocStats
    - transfer_cache
    - tcmalloc_internal::MadviseString
    - tcmalloc_internal::ExtractStats
    - central_freelist
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    - guardedpage_allocator
    - total_sampled_count_::value
    - tcmalloc_internal::PrintHooksState
    - tcmalloc_internal::UnmappedBytes
    - page_allocator
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - printf
    - tcmalloc_internal::num_live_spans
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - static_cast<size_t>
    - tcmalloc_internal::Parameters::release_free_swapped
    linkageType: ''
    returnType: void
    signature: void DumpStats(Printer& out, int level)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:642,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:644,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:647,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:648,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:649,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:650,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:657,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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:662,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:666,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:667,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:668,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:669,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:670,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:671,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:672,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:673,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:674,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:676,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:678,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:680,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:681,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:682,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:683,1
    - Dst: PbtxtRegion::PrintI64
      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:687,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:688,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: tcmalloc_internal::CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:690,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:693,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:693,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:694,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:695,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:696,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:697,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:698,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:701,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:702,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:703,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:704,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:706,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:707,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:708,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:713,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:714,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:718,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:719,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:724,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:725,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:726,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:727,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:728,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:729,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:731,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:733,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:734,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:735,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:737,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:740,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:740,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:742,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:743,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:745,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:746,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:751,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:753,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:754,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:757,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:759,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:763,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:767,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:768,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:769,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:770,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:771,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:772,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:773,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:775,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:777,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:779,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:782,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:784,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:786,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:787,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:790,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:791,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:792,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:793,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:796,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:797,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:800,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:801,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:804,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:805,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:806,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:807,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:808,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:810,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:811,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:812,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:814,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:815,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:816,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:817,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:818,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:819,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:821,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:822,1
    - Dst: tcmalloc_internal::PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:823,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:823,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:824,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:825,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: tcmalloc_internal::HeapPartitioningModeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:828,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:829,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:830,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:830,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:831,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:832,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:833,1
    - Dst: tcmalloc_internal::Parameters::release_free_swapped
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:833,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:834,1
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:835,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:837,1
    - Dst: tcmalloc_internal::SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:839,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:839,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:840,1
    - Dst: tcmalloc_internal::MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:840,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:841,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:842,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:843,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:845,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:845,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:846,1
    - Dst: tcmalloc_internal::Parameters::span_lifetime_tracking
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 110
    argCount: 2
    argNames:
    - ' out'
    - level
    argTypes:
    - Printer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 849
    functionName: tcmalloc_internal::DumpStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::background_release_rate
    - TCMallocStats::num_released_total::in_pages
    - tcmalloc_internal::PerCpuTypeString
    - system_allocator
    - per_size_class_counts
    - sizemap
    - tcmalloc_internal::VirtualMemoryUsed
    - sharded_transfer_cache
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - PbtxtRegion::PrintRaw
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - TCMallocStats::num_released_process_background_actions::in_pages
    - size_class_configuration
    - PbtxtRegion::CreateSubRegion
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::GetMemoryStats
    - active_partitions
    - sampled_internal_fragmentation_::value
    - peak_heap_tracker
    - static_cast<int64_t>
    - tcmalloc_internal::Parameters::span_lifetime_tracking
    - tcmalloc_internal::PhysicalMemoryUsed
    - PbtxtRegion::PrintBool
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::Parameters::per_cpu_caches
    - sampled_objects_size_::value
    - tcmalloc_internal::InUseByApp
    - size
    - static_cast<int>
    - tcmalloc_internal::Parameters::priority_list_length
    - cpu_cache
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::CountAllowedCpus
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::SizeClassConfigurationString
    - tcmalloc_internal::ExtractTCMallocStats
    - transfer_cache
    - tcmalloc_internal::MadviseString
    - tcmalloc_internal::ExtractStats
    - auto::PrintI64
    - central_freelist
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    - guardedpage_allocator
    - total_sampled_count_::value
    - tcmalloc_internal::UnmappedBytes
    - page_allocator
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::HeapPartitioningModeString
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - tcmalloc_internal::Parameters::release_free_swapped
    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:854,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:855,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:860,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:866,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:867,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:873,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:874,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:881,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:882,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:888,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:889,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:895,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:896,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:897,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:906,1
    - Dst: tcmalloc_internal::HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:907,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:913,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:920,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:927,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:936,1
    - Dst: tcmalloc_internal::SlackBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:937,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:944,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:952,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:953,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:958,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:963,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:970,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:977,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:984,1
    - Dst: tcmalloc_internal::LocalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:985,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:991,1
    - Dst: tcmalloc_internal::ExternalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:992,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:998,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1005,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1015,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1019,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1023,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1027,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1032,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1052,1
    - Dst: tcmalloc_internal::in_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1052,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1059,1
    - Dst: tcmalloc_internal::RequiredBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1060,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1065,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1067,1
    - Dst: absl::StripPrefix
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1067,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1068,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1069,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: 1076
      start: 851
    functionDepth: 4
    functionLinenumber: 851
    functionLinenumberEnd: 1076
    functionName: tcmalloc_internal::GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExternalBytes
    - tcmalloc_internal::LocalBytes
    - tcmalloc_internal::VirtualMemoryUsed
    - absl::StartsWith
    - tcmalloc_internal::HeapSizeBytes
    - tcmalloc_internal::safe_div
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::PhysicalMemoryUsed
    - tcmalloc_internal::RequiredBytes
    - tcmalloc_internal::in_bytes
    - arena
    - static_cast<uint64_t>
    - tcmalloc_internal::InUseByApp
    - TC_ASSERT_NE
    - absl::StripPrefix
    - std::optional::has_value
    - FindExperimentByName
    - tcmalloc_internal::SlackBytes
    - IsExperimentActive
    - tcmalloc_internal::ExtractTCMallocStats
    - CpuCacheActive
    - page_allocator
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    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:
    - system_allocator
    - ABSL_UNREACHABLE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view MadviseString()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:95,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:96,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:98,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:100,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:101,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:108,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:110,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:115,1
    - Dst: span_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:122,1
    - Dst: sampledallocation_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:123,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:124,1
    - Dst: tcmalloc_internal::ThreadCache::GetStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:125,1
    - Dst: metadata_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:129,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:130,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:131,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:132,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:134,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:137,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:142,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:145,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:159,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:160,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:162,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:165,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:169,1
    - Dst: pagemap_residence
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:179,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 6
    argNames:
    - ' r'
    - absl_nullable class_count
    - absl_nullable
    - absl_nullable small_spans
    - absl_nullable large_spans
    - report_residence
    argTypes:
    - TCMallocStats
    - uint64_t*
    - SpanStats*
    - SmallSpanStats*
    - LargeSpanStats*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::ExtractStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 3
    functionsReached:
    - central_freelist
    - pagemap
    - metadata_bytes
    - cpu_cache
    - pagemap_residence
    - page_allocator
    - sizemap
    - linked_sample_allocator
    - sharded_transfer_cache
    - tcmalloc_internal::UsePerCpuCache
    - sampledallocation_allocator
    - tcmalloc_internal::ThreadCache::GetStats
    - arena
    - TC_ASSERT_GE
    - transfer_cache
    - span_allocator
    linkageType: ''
    returnType: void
    signature: "void ExtractStats(TCMallocStats& r, uint64_t* absl_nullable class_count,\n
      \                 SpanStats* absl_nullable span_stats,\n                  SmallSpanStats*
      absl_nullable small_spans,\n                  LargeSpanStats* absl_nullable
      large_spans,\n                  bool report_residence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - report_residence
    argTypes:
    - TCMallocStats
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 190
    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: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    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:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    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: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    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: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    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:219,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:219,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::PhysicalMemoryUsed
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::StatSub
    - tcmalloc_internal::UnmappedBytes
    - tcmalloc_internal::VirtualMemoryUsed
    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:225,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - TCMallocStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: tcmalloc_internal::RequiredBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::PhysicalMemoryUsed
    - tcmalloc_internal::StatSub
    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: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    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:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - BackingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    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: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    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: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    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:249,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: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' printer'
    argTypes:
    - Printer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: tcmalloc_internal::PrintHooksState
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached:
    - size
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintHooksState(Printer& printer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:261,1
    - Dst: CpuSet::Count
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - config
    argTypes:
    - SizeClassConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 282
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:285,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:287,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc_internal::HeapPartitioningModeString
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 1
    functionsReached:
    - active_partitions
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view HeapPartitioningModeString()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mode
    argTypes:
    - RseqVcpuMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 305
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:312,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:314,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:319,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:323,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:324,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:325,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:326,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:329,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:333,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:408,1
    - Dst: tcmalloc_internal::CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:411,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:416,1
    - Dst: WalkExperiments
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:417,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:419,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:421,1
    - Dst: tcmalloc_internal::PrintHooksState
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:423,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:424,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:427,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:428,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:429,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:430,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:433,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:437,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:446,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:453,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:454,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:455,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:456,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:457,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:462,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:465,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:470,1
    - Dst: tcmalloc_internal::num_live_spans
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:472,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:473,1
    - Dst: tcmalloc_internal::prob_returned
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:476,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: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:487,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:488,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:489,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:490,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:491,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:493,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:496,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:497,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:498,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:499,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:502,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:504,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:507,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:508,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:512,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:514,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:517,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:518,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:519,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:521,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:522,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:526,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:527,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:528,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:530,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:531,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:532,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:534,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:535,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:536,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:538,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:540,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:542,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:543,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:544,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:545,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:546,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:547,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:548,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:549,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:551,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:552,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:555,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:556,1
    - Dst: TCMallocStats::num_released_total::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:557,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:558,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:561,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:562,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:563,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:566,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:567,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:568,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:571,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:572,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:573,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:576,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_mib
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:577,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:578,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:580,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:582,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:583,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:584,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:585,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:586,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:587,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:588,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:589,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:590,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:591,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:592,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:593,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:594,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:595,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:596,1
    - Dst: absl::FormatDuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:597,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:598,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:599,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:600,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:601,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:602,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:603,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:604,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:605,1
    - Dst: multiple_non_numa_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:606,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:608,1
    - Dst: tcmalloc_internal::SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:610,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:610,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:611,1
    - Dst: tcmalloc_internal::PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:612,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:612,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: tcmalloc_internal::MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:613,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:614,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:615,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:616,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:618,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:619,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:620,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:621,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:622,1
    - Dst: tcmalloc_internal::Parameters::release_free_swapped
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:623,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:624,1
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:625,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:626,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:628,1
    - Dst: printf
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:629,1
    - Dst: tcmalloc_internal::Parameters::span_lifetime_tracking
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 113
    argCount: 2
    argNames:
    - ' out'
    - level
    argTypes:
    - Printer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 635
    functionName: tcmalloc_internal::DumpStats
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - WalkExperiments
    - tcmalloc_internal::Parameters::background_release_rate
    - TCMallocStats::num_released_total::in_pages
    - tcmalloc_internal::PerCpuTypeString
    - per_size_class_counts
    - TCMallocStats::num_released_hard_limit_exceeded::in_mib
    - sizemap
    - tcmalloc_internal::VirtualMemoryUsed
    - sharded_transfer_cache
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - TCMallocStats::num_released_soft_limit_exceeded::in_mib
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - TCMallocStats::num_released_process_background_actions::in_pages
    - size_class_configuration
    - TCMallocStats::num_released_release_memory_to_system::in_mib
    - tcmalloc_internal::GetMemoryStats
    - active_partitions
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::safe_div
    - peak_heap_tracker
    - TCMallocStats::num_released_total::in_mib
    - tcmalloc_internal::PhysicalMemoryUsed
    - tcmalloc_internal::prob_returned
    - tcmalloc_internal::Parameters::span_lifetime_tracking
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - absl::FormatDuration
    - tcmalloc_internal::Parameters::per_cpu_caches
    - sampled_objects_size_::value
    - tcmalloc_internal::InUseByApp
    - TCMallocStats::num_released_process_background_actions::in_mib
    - multiple_non_numa_partitions
    - static_cast<int>
    - tcmalloc_internal::Parameters::priority_list_length
    - cpu_cache
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::CountAllowedCpus
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::SizeClassConfigurationString
    - tcmalloc_internal::ExtractTCMallocStats
    - transfer_cache
    - tcmalloc_internal::MadviseString
    - tcmalloc_internal::ExtractStats
    - central_freelist
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    - guardedpage_allocator
    - total_sampled_count_::value
    - tcmalloc_internal::PrintHooksState
    - tcmalloc_internal::UnmappedBytes
    - page_allocator
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - printf
    - tcmalloc_internal::num_live_spans
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - static_cast<size_t>
    - tcmalloc_internal::Parameters::release_free_swapped
    linkageType: ''
    returnType: void
    signature: void DumpStats(Printer& out, int level)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:642,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:644,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:647,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:648,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:649,1
    - Dst: tcmalloc_internal::UnmappedBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:650,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:657,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: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:661,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:662,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:664,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:666,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:667,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:668,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:669,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:670,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:671,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:672,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:673,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:674,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:676,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:678,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:680,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:681,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:682,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:683,1
    - Dst: PbtxtRegion::PrintI64
      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:687,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:688,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: tcmalloc_internal::CountAllowedCpus
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:689,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:690,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:693,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:693,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:694,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:694,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:695,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:696,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:697,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:698,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:701,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:702,1
    - Dst: sampled_objects_size_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:703,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:704,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:706,1
    - Dst: auto::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:707,1
    - Dst: peak_heap_tracker
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:708,1
    - Dst: tcmalloc_internal::GetMemoryStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:713,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:714,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:715,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:718,1
    - Dst: total_sampled_count_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:719,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:724,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:725,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:726,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:727,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:728,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:729,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:731,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:733,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:734,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:735,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:737,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:740,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:740,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:742,1
    - Dst: per_size_class_counts
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:743,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:745,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:746,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:751,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:753,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:754,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:757,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:759,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:763,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:765,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:767,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:768,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:769,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:770,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:771,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:772,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:773,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:775,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:777,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:779,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:782,1
    - Dst: TCMallocStats::num_released_total::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:783,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:784,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:786,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:787,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:789,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:790,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:791,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:792,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:793,1
    - Dst: PbtxtRegion::CreateSubRegion
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:796,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:797,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:800,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:801,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:803,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:804,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:805,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:806,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:807,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:808,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:809,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:810,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:811,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:812,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:813,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:814,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:815,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:816,1
    - Dst: tcmalloc_internal::Parameters::release_partial_alloc_pages
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:817,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:818,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:819,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:820,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:821,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:822,1
    - Dst: tcmalloc_internal::PerCpuTypeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:823,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:823,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:824,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:825,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:826,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: tcmalloc_internal::HeapPartitioningModeString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:827,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:828,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:829,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:830,1
    - Dst: tcmalloc_internal::Parameters::min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:830,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:831,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:832,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:833,1
    - Dst: tcmalloc_internal::Parameters::release_free_swapped
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:833,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:834,1
    - Dst: tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:835,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:837,1
    - Dst: tcmalloc_internal::SizeClassConfigurationString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:839,1
    - Dst: size_class_configuration
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:839,1
    - Dst: PbtxtRegion::PrintRaw
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:840,1
    - Dst: tcmalloc_internal::MadviseString
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:840,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:841,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:842,1
    - Dst: PbtxtRegion::PrintI64
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:843,1
    - Dst: tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:845,1
    - Dst: tcmalloc_internal::Parameters::priority_list_length
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:845,1
    - Dst: PbtxtRegion::PrintBool
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:846,1
    - Dst: tcmalloc_internal::Parameters::span_lifetime_tracking
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 110
    argCount: 2
    argNames:
    - ' out'
    - level
    argTypes:
    - Printer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 849
    functionName: tcmalloc_internal::DumpStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::background_release_rate
    - TCMallocStats::num_released_total::in_pages
    - tcmalloc_internal::PerCpuTypeString
    - system_allocator
    - per_size_class_counts
    - sizemap
    - tcmalloc_internal::VirtualMemoryUsed
    - sharded_transfer_cache
    - tcmalloc_internal::Parameters::release_partial_alloc_pages
    - PbtxtRegion::PrintRaw
    - tcmalloc_internal::central_freelist_internal::CentralFreeList::NumPriorityLists
    - TCMallocStats::num_released_soft_limit_exceeded::in_pages
    - TCMallocStats::num_released_process_background_actions::in_pages
    - size_class_configuration
    - PbtxtRegion::CreateSubRegion
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::GetMemoryStats
    - active_partitions
    - sampled_internal_fragmentation_::value
    - peak_heap_tracker
    - static_cast<int64_t>
    - tcmalloc_internal::Parameters::span_lifetime_tracking
    - tcmalloc_internal::PhysicalMemoryUsed
    - PbtxtRegion::PrintBool
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - PbtxtRegion::PrintI64
    - tcmalloc_internal::Parameters::per_cpu_caches
    - sampled_objects_size_::value
    - tcmalloc_internal::InUseByApp
    - size
    - static_cast<int>
    - tcmalloc_internal::Parameters::priority_list_length
    - cpu_cache
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    - absl::ToInt64Nanoseconds
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - TCMallocStats::num_released_hard_limit_exceeded::in_pages
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - tcmalloc_internal::CountAllowedCpus
    - tcmalloc_internal::UsePerCpuCache
    - tcmalloc_internal::Parameters::min_hot_access_hint
    - tcmalloc_internal::SizeClassConfigurationString
    - tcmalloc_internal::ExtractTCMallocStats
    - transfer_cache
    - tcmalloc_internal::MadviseString
    - tcmalloc_internal::ExtractStats
    - auto::PrintI64
    - central_freelist
    - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
    - guardedpage_allocator
    - total_sampled_count_::value
    - tcmalloc_internal::UnmappedBytes
    - page_allocator
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::HeapPartitioningModeString
    - TCMallocStats::num_released_release_memory_to_system::in_pages
    - tcmalloc_internal::Parameters::release_free_swapped
    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:854,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:855,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:860,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:866,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:867,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:873,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:874,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:881,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:882,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:888,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:889,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:895,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:896,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:897,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:906,1
    - Dst: tcmalloc_internal::HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:907,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:913,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:920,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:927,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:936,1
    - Dst: tcmalloc_internal::SlackBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:937,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:944,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:952,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:953,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:958,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:963,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:970,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:977,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:984,1
    - Dst: tcmalloc_internal::LocalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:985,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:991,1
    - Dst: tcmalloc_internal::ExternalBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:992,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:998,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1005,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1015,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1019,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1023,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1027,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1032,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1052,1
    - Dst: tcmalloc_internal::in_bytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1052,1
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1059,1
    - Dst: tcmalloc_internal::RequiredBytes
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1060,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1065,1
    - Dst: FindExperimentByName
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1067,1
    - Dst: absl::StripPrefix
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1067,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1068,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/global_stats.cc:1069,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: 1076
      start: 851
    functionDepth: 4
    functionLinenumber: 851
    functionLinenumberEnd: 1076
    functionName: tcmalloc_internal::GetNumericProperty
    functionSourceFile: /src/tcmalloc/tcmalloc/global_stats.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExternalBytes
    - tcmalloc_internal::LocalBytes
    - tcmalloc_internal::VirtualMemoryUsed
    - absl::StartsWith
    - tcmalloc_internal::HeapSizeBytes
    - tcmalloc_internal::safe_div
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::PhysicalMemoryUsed
    - tcmalloc_internal::RequiredBytes
    - tcmalloc_internal::in_bytes
    - arena
    - static_cast<uint64_t>
    - tcmalloc_internal::InUseByApp
    - TC_ASSERT_NE
    - absl::StripPrefix
    - std::optional::has_value
    - FindExperimentByName
    - tcmalloc_internal::SlackBytes
    - IsExperimentActive
    - tcmalloc_internal::ExtractTCMallocStats
    - CpuCacheActive
    - page_allocator
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    linkageType: ''
    returnType: bool
    signature: "bool GetNumericProperty(const char* name_data, size_t name_size,\n
      \                       size_t* value)"
  - BBCount: 41
    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: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:147,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:151,1
    - Dst: ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:154,1
    - Dst: RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:155,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:156,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:159,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:160,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:162,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:163,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:164,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:166,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:172,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:173,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:174,1
    - Dst: WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:175,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:176,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:181,1
    - Dst: WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:182,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:183,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:188,1
    - Dst: WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:189,1
    - Dst: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:190,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:193,1
    - Dst: PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:194,1
    - Dst: TC_LOG
      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: RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:201,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:204,1
    - Dst: PrintStackTraceFromSignalHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:206,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:208,1
    - Dst: sa_sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:220,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:223,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:225,1
    - Dst: raise
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:227,1
    - Dst: sa_handler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:231,1
    - Dst: SegvHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:236,1
    - Dst: ForwardSignal
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:237,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:242,1
    - Dst: sigemptyset
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:245,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:247,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:248,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:249,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 254
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - ExtractWriteFlagFromContext
    - ASSUME
    - sa_sigaction
    - PrintStackTraceFromSignalHandler
    - absl::base_internal::GetTID
    - ForwardSignal
    - raise
    - reinterpret_cast<const ucontext_t*>
    - reinterpret_cast<const uint8_t*>
    - std::tie
    - WriteFlagToString
    - TC_LOG
    - absl::base_internal::LowLevelCallOnce
    - sigemptyset
    - RecordCrash
    - sa_handler
    - PrintStackTrace
    - TC_BUG
    - sigaction
    - Aarch64GetESR
    - SegvHandler
    - guardedpage_allocator
    - RefineErrorTypeBasedOnWriteFlag
    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::ExtractWriteFlagFromContext
    - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType RefineErrorTypeBasedOnContext(\n    const
      void* context, GuardedAllocationsErrorType error)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:147,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:151,1
    - Dst: tcmalloc_internal::ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:154,1
    - Dst: tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:155,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:156,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:159,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:160,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:162,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:163,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:164,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:166,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:172,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:173,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:174,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:175,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:176,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:181,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:182,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:183,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:188,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:189,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:190,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:193,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:194,1
    - Dst: TC_LOG
      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::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:201,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:204,1
    - Dst: tcmalloc_internal::PrintStackTraceFromSignalHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:206,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::SegvHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::WriteFlagToString
    - guardedpage_allocator
    - tcmalloc_internal::PrintStackTrace
    - tcmalloc_internal::PrintStackTraceFromSignalHandler
    - tcmalloc_internal::ExtractWriteFlagFromContext
    - tcmalloc_internal::RecordCrash
    - std::tie
    - TC_BUG
    - absl::base_internal::GetTID
    - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    - TC_LOG
    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:220,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:223,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:225,1
    - Dst: raise
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:227,1
    - Dst: sa_handler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::ForwardSignal
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - raise
    - sa_sigaction
    - sa_handler
    - sigaction
    - TC_LOG
    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:236,1
    - Dst: tcmalloc_internal::ForwardSignal
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::HandleSegvAndForward
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ForwardSignal
    - tcmalloc_internal::SegvHandler
    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:242,1
    - Dst: sigemptyset
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:245,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:247,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:248,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: tcmalloc_internal::MallocExtension_Internal_ActivateGuardedSampling
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaction
    - 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::ExtractWriteFlagFromContext
    - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    linkageType: ''
    returnType: GuardedAllocationsErrorType
    signature: "GuardedAllocationsErrorType RefineErrorTypeBasedOnContext(\n    const
      void* context, GuardedAllocationsErrorType error)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:147,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:151,1
    - Dst: tcmalloc_internal::ExtractWriteFlagFromContext
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:154,1
    - Dst: tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:155,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:156,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:159,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:160,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:162,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:163,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:164,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:166,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:172,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:173,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:174,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:175,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:176,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:181,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:182,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:183,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:188,1
    - Dst: tcmalloc_internal::WriteFlagToString
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:189,1
    - Dst: tcmalloc_internal::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:190,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:193,1
    - Dst: tcmalloc_internal::PrintStackTrace
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:194,1
    - Dst: TC_LOG
      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::RecordCrash
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:201,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:204,1
    - Dst: tcmalloc_internal::PrintStackTraceFromSignalHandler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:206,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 212
    functionName: tcmalloc_internal::SegvHandler
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::WriteFlagToString
    - guardedpage_allocator
    - tcmalloc_internal::PrintStackTrace
    - tcmalloc_internal::PrintStackTraceFromSignalHandler
    - tcmalloc_internal::ExtractWriteFlagFromContext
    - tcmalloc_internal::RecordCrash
    - std::tie
    - TC_BUG
    - absl::base_internal::GetTID
    - tcmalloc_internal::RefineErrorTypeBasedOnWriteFlag
    - TC_LOG
    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:220,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:223,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:225,1
    - Dst: raise
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:227,1
    - Dst: sa_handler
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::ForwardSignal
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 1
    functionsReached:
    - raise
    - sa_sigaction
    - sa_handler
    - sigaction
    - TC_LOG
    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:236,1
    - Dst: tcmalloc_internal::ForwardSignal
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - signo
    - info
    - context
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: tcmalloc_internal::HandleSegvAndForward
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ForwardSignal
    - tcmalloc_internal::SegvHandler
    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:242,1
    - Dst: sigemptyset
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:245,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:247,1
    - Dst: sigaction
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:248,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/segv_handler.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: tcmalloc_internal::MallocExtension_Internal_ActivateGuardedSampling
    functionSourceFile: /src/tcmalloc/tcmalloc/segv_handler.cc
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaction
    - 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:
    - TryRecordAllocationFast
    - RecordAllocationSlow
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    - __builtin_usubl_overflow
    - reinterpret_cast<size_t*>
    - 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*>
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Sampler::RecordAllocationSlow
    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*>
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::Sampler::RecordAllocationSlow
    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: 65
    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: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:288,1
    - Dst: GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:297,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:301,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:303,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:308,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:309,1
    - Dst: tcmalloc_internal::Parameters::set_heap_size_hard_limit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:315,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:317,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:318,1
    - Dst: tcmalloc_internal::ThreadCache::BecomeIdle
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:322,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:327,1
    - Dst: system_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:333,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:349,1
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:360,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:364,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:365,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:366,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:368,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:378,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:378,1
    - Dst: nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:379,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:383,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:384,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:385,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:387,1
    - Dst: GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:393,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:401,1
    - Dst: VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:403,1
    - Dst: PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:404,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:405,1
    - Dst: clear
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:407,1
    - Dst: HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:415,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:417,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:418,1
    - Dst: safe_div
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:419,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:438,1
    - Dst: LocalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:443,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:446,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:455,1
    - Dst: ExternalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:458,1
    - Dst: RequiredBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:459,1
    - Dst: SlackBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:460,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:463,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:465,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:469,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:471,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:474,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:477,1
    - Dst: TCMallocStats::num_released_total::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:481,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:483,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:485,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:487,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:489,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:493,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:493,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:497,1
    - Dst: Span*::sampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:513,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:514,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:516,1
    - Dst: Span*::sampled_allocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:519,1
    - Dst: Span*::bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:521,1
    - Dst: GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:526,1
    - Dst: PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:531,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:533,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:535,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:537,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:538,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:540,1
    - Dst: GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:542,1
    - Dst: GetSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:546,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:551,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:552,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:554,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:554,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:555,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:556,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:557,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:562,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:563,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:578,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:578,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:579,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:579,1
    - Dst: FreeWithHooksOrPerThread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:580,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,1
    - Dst: IsExpandedSizeClass
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:587,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:588,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:588,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:590,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:590,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:598,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:599,1
    - Dst: FreeSmallSlow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:600,1
    - Dst: std::max<Length>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:612,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:614,1
    - Dst: MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:617,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:630,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:643,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:660,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:663,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:664,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:672,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:673,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:678,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:679,1
    - Dst: GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:680,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:686,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:690,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:699,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:706,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:708,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:715,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:726,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:730,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:731,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:732,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:740,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:742,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:743,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:747,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:748,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:749,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:753,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:754,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:756,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:774,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:775,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:777,1
    - Dst: do_unsized_free_irregular
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:781,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:784,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:792,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:794,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:802,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:804,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:806,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:809,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:810,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:811,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:815,1
    - Dst: InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:816,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:817,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:819,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:820,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:835,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:839,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:856,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:860,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:864,1
    - Dst: free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:865,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:881,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:883,1
    - Dst: InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:884,1
    - Dst: FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    - Dst: GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:899,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:903,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:929,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:936,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:940,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:942,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:957,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:966,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:968,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    - Dst: PrintStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:983,1
    - Dst: static_cast<void>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:987,1
    - Dst: MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:988,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:998,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1002,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1006,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1007,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1009,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    - Dst: ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1029,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 375
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 1039
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - FreeSmall
    - clear
    - GetSizeAndSampled
    - char::char
    - sizemap
    - absl::bit_cast<uintptr_t>
    - TC_CHECK_EQ
    - VirtualMemoryUsed
    - TC_ASSERT_EQ
    - ThreadCache::GetCacheIfPresent
    - PointerIsCorrectlyAligned
    - HeapSizeBytes
    - GetSize
    - Span*::sampled_allocation
    - ReportDoubleFree
    - static_cast<void>
    - std::max<size_t>
    - DumpFragmentationProfile
    - TCMallocStats::num_released_hard_limit_exceeded::in_bytes
    - cpu_cache
    - absl::bit_width
    - LocalBytes
    - MallocExtension_Internal_ReleaseMemoryToSystem
    - TCMalloc_Internal_GetStats
    - Span*::bytes_in_span
    - ExtractTCMallocStats
    - SLOW_PATH_BARRIER
    - std::max
    - InUseByApp
    - Printer::SpaceRequired
    - ABSL_PREDICT_FALSE
    - Span*::sampled
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    - GetRegionFactory
    - static_cast<size_t>
    - PrintStats
    - std::max<Length>
    - GetLargeSize
    - SlackBytes
    - begin
    - system_allocator
    - PageIdContaining
    - CorrectAlignment
    - resize
    - free_non_normal
    - active_partitions
    - sampled_internal_fragmentation_::value
    - TCMallocStats::num_released_release_memory_to_system::in_bytes
    - Length
    - InitIfNecessary
    - AccessAsCold
    - Range
    - TC_ASSERT_GT
    - CorrectSize
    - SampleLargeAllocation
    - static_cast<uintptr_t>
    - invalid_span
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - IsNormalMemory
    - InSamePartitionAs
    - DumpHeapProfile
    - nallocx_slow
    - FreeSmallSlow
    - Span*::num_pages
    - write
    - transfer_cache
    - TCMallocStats::num_released_total::in_bytes
    - ReportCorruptedFree
    - GetMemoryTag
    - TCMallocStats::num_released_process_background_actions::in_bytes
    - MultiNormalTag
    - Span*::start_address
    - capacity
    - TC_CHECK_LE
    - memset
    - TCMallocStats::num_released_soft_limit_exceeded::in_bytes
    - tcmalloc_internal::Parameters::set_heap_size_hard_limit
    - CppPolicy
    - safe_div
    - RequiredBytes
    - UsePerCpuCache
    - AllocationSample::AllocationSample
    - absl::Now
    - MaybeUnsampleAllocation
    - absl::has_single_bit
    - MallocHook::InvokeDeleteHook
    - InvokeHooksAndFreePages
    - static_cast<std::align_val_t>
    - tcmalloc_internal::Span::Delete
    - DumpStats
    - CpuCacheActive
    - absl::Span<void*>
    - ColdFeatureActive
    - do_unsized_free_irregular
    - release_errors
    - ReportMismatchedDelete
    - TC_ASSERT
    - PointerIsMine
    - ThreadCache*::Deallocate
    - absl::Span<char>
    - tcmalloc_internal::subtle::percpu::IsFast
    - GetOwnership
    - FreeWithHooksOrPerThread
    - strlen
    - peak_heap_tracker
    - GetLargeSizeAndSampled
    - is_cold
    - IsExpandedSizeClass
    - IsInited
    - static_cast<uint64_t>
    - static_cast<PageAllocator::LimitKind>
    - TC_ASSERT_NE
    - align
    - pagemap
    - Printer::printf
    - static_cast<int>
    - DumpStatsInPbtxt
    - Length::in_bytes
    - PhysicalMemoryUsed
    - tcmalloc_internal::ThreadCache::BecomeIdle
    - ExternalBytes
    - deallocationz::DeallocationSample::DeallocationSample
    - reinterpret_cast<uintptr_t>
    - guardedpage_allocator
    - GetNumericProperty
    - partition
    - PageIdContainingTagged
    - Release
    - page_allocator
    - ABSL_PREDICT_TRUE
    - BytesToLengthCeil
    - Deallocate
    - Span*::donated
    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: 5
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::MallocExtension_Internal_GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Printer::SpaceRequired
    - system_allocator
    - absl::Span<char>
    - tcmalloc_internal::DumpStatsInPbtxt
    - TC_ASSERT_GT
    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: 5
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::PrintStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - strlen
    - write
    - char::char
    - tcmalloc_internal::DumpStats
    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:
    - std::string*::resize
    - std::string*::capacity
    - tcmalloc_internal::TCMalloc_Internal_GetStats
    - absl::bit_width
    - std::string*::begin
    - 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: 5
    functionLinenumber: 235
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::TCMalloc_Internal_GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - Printer::printf
    - release_errors
    - Printer::SpaceRequired
    - system_allocator
    - absl::Span<char>
    - GetRegionFactory
    - tcmalloc_internal::DumpStats
    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:
    - DumpFragmentationProfile
    - peak_heap_tracker
    - DumpHeapProfile
    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:
    - AllocationSample::AllocationSample
    - absl::Now
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:286,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:287,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: tcmalloc_internal::GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - invalid_span
    - 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:297,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: 298
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:308,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - tcmalloc::MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::MallocExtension_Internal_GetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<PageAllocator::LimitKind>
    - page_allocator
    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:315,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:317,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - tcmalloc::MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::MallocExtension_Internal_SetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<PageAllocator::LimitKind>
    - tcmalloc_internal::Parameters::set_heap_size_hard_limit
    - page_allocator
    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:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    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:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    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:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    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:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    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:360,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:364,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:365,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:366,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: tcmalloc_internal::nallocx_slow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::BytesToLengthCeil
    - ABSL_PREDICT_TRUE
    - sizemap
    - InitIfNecessary
    - CppPolicy
    - static_cast<size_t>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE nallocx_slow(size_t size, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:378,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:378,1
    - Dst: tcmalloc_internal::nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:379,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:383,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:384,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:385,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::nallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::BytesToLengthCeil
    - IsInited
    - sizemap
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::nallocx_slow
    - CppPolicy
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: size_t nallocx(size_t size, int flags) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 394
    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:401,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:403,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:404,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:405,1
    - Dst: std::map<std::string, MallocExtension::Property>*::clear
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:407,1
    - Dst: tcmalloc_internal::HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:415,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:417,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:418,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:419,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:438,1
    - Dst: tcmalloc_internal::LocalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:443,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:446,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:455,1
    - Dst: tcmalloc_internal::ExternalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:458,1
    - Dst: tcmalloc_internal::RequiredBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:459,1
    - Dst: tcmalloc_internal::SlackBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:460,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:463,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:465,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:469,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:471,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:474,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:477,1
    - Dst: TCMallocStats::num_released_total::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:481,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:483,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:485,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:487,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::map<std::string, MallocExtension::Property>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 396
    functionDepth: 4
    functionLinenumber: 396
    functionLinenumberEnd: 490
    functionName: tcmalloc_internal::MallocExtension_Internal_GetProperties
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, MallocExtension::Property>*::clear
    - tcmalloc_internal::ExternalBytes
    - TCMallocStats::num_released_soft_limit_exceeded::in_bytes
    - tcmalloc_internal::LocalBytes
    - tcmalloc_internal::VirtualMemoryUsed
    - tcmalloc_internal::HeapSizeBytes
    - tcmalloc_internal::safe_div
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::PhysicalMemoryUsed
    - tcmalloc_internal::RequiredBytes
    - TCMallocStats::num_released_release_memory_to_system::in_bytes
    - static_cast<uint64_t>
    - tcmalloc_internal::InUseByApp
    - TCMallocStats::num_released_hard_limit_exceeded::in_bytes
    - tcmalloc_internal::SlackBytes
    - tcmalloc_internal::ExtractTCMallocStats
    - TCMallocStats::num_released_total::in_bytes
    - CpuCacheActive
    - TCMallocStats::num_released_process_background_actions::in_bytes
    - page_allocator
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    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:493,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:493,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 500
    functionName: tcmalloc_internal::MallocExtension_Internal_ReleaseCpuMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - cpu_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheActive
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension_Internal_ReleaseCpuMemory(int cpu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:513,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:514,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:516,1
    - Dst: sampled_allocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:519,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - ' span'
    argTypes:
    - void*
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 523
    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:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ' span'
    argTypes:
    - void*
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 527
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:531,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:533,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:535,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:537,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:538,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:540,1
    - Dst: tcmalloc_internal::GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 544
    functionName: tcmalloc_internal::GetSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - invalid_span
    - tcmalloc_internal::PageIdContainingTagged
    - sizemap
    - tcmalloc_internal::GetLargeSizeAndSampled
    - ReportDoubleFree
    linkageType: ''
    returnType: SizeAndSampled
    signature: SizeAndSampled GetSizeAndSampled(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 546
    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:551,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:552,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:554,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:554,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:555,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:556,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:557,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:562,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:563,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: 565
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 565
    functionName: tcmalloc_internal::FreeWithHooksOrPerThread
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook::InvokeDeleteHook
    - ThreadCache*::Deallocate
    - cpu_cache
    - ABSL_PREDICT_TRUE
    - sizemap
    - tcmalloc_internal::UsePerCpuCache
    - transfer_cache
    - ThreadCache::GetCacheIfPresent
    - absl::Span<void*>
    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:578,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:578,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:579,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:579,1
    - Dst: tcmalloc_internal::FreeWithHooksOrPerThread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:580,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,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: 583
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: tcmalloc_internal::FreeSmallSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::FreeWithHooksOrPerThread
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - tcmalloc_internal::UsePerCpuCache
    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:587,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:588,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:588,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:590,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:590,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:598,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:599,1
    - Dst: tcmalloc_internal::FreeSmallSlow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - size
    - size_class
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: tcmalloc_internal::FreeSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - IsNormalMemory
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::FreeSmallSlow
    - tcmalloc_internal::IsExpandedSizeClass
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max<Length>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:612,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:614,1
    - Dst: tcmalloc_internal::MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: Policy::partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:617,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - size
    - weight
    - policy
    argTypes:
    - size_t
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 634
    functionName: tcmalloc_internal::do_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - std::max<Length>
    - active_partitions
    - GetMemoryTag
    - SampleLargeAllocation
    - Policy::align
    - Policy::partition
    - Span*::start_address
    - Policy::is_cold
    - Length
    - page_allocator
    - TC_ASSERT
    - Length::in_bytes
    - tcmalloc_internal::ColdFeatureActive
    - TC_CHECK_EQ
    - tcmalloc_internal::BytesToLengthCeil
    - tcmalloc_internal::MultiNormalTag
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t do_malloc_pages(size_t size, size_t weight, Policy policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:643,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:660,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:663,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:664,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:672,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:673,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:678,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:679,1
    - Dst: tcmalloc_internal::GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:680,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:686,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:690,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:699,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:706,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:708,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - std::optional<size_t>
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 716
    functionName: tcmalloc_internal::InvokeHooksAndFreePages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetLargeSize
    - PointerIsMine
    - PointerIsCorrectlyAligned
    - tcmalloc_internal::PageIdContaining
    - ReportDoubleFree
    - MaybeUnsampleAllocation
    - tcmalloc_internal::Range
    - pagemap
    - MallocHook::InvokeDeleteHook
    - invalid_span
    - static_cast<std::align_val_t>
    - Span*::num_pages
    - tcmalloc_internal::Span::Delete
    - ReportCorruptedFree
    - GetMemoryTag
    - guardedpage_allocator
    - ABSL_PREDICT_FALSE
    - page_allocator
    - ABSL_PREDICT_TRUE
    - Deallocate
    - TC_ASSERT
    - Span*::donated
    - Span*::start_address
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE InvokeHooksAndFreePages(\n    void* ptr, std::optional<size_t>
      size, Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:740,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:742,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:743,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:747,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:748,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:749,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:753,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:754,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:756,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 738
    functionDepth: 6
    functionLinenumber: 738
    functionLinenumberEnd: 759
    functionName: tcmalloc_internal::do_unsized_free_irregular
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ReportCorruptedFree
    - GetMemoryTag
    - pagemap
    - tcmalloc_internal::InvokeHooksAndFreePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageIdContaining
    - ABSL_PREDICT_TRUE
    - absl::bit_cast<uintptr_t>
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::FreeSmall
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE do_unsized_free_irregular(void* ptr,\n                                                              Policy
      policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:774,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:775,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:777,1
    - Dst: tcmalloc_internal::do_unsized_free_irregular
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:781,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:784,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:792,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:794,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 762
    functionDepth: 7
    functionLinenumber: 762
    functionLinenumberEnd: 797
    functionName: tcmalloc_internal::do_free
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::InvokeHooksAndFreePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::CorrectAlignment
    - IsInited
    - tcmalloc_internal::PageIdContaining
    - ABSL_PREDICT_TRUE
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - TC_ASSERT
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::do_unsized_free_irregular
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE do_free(void* ptr, Policy policy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:802,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:804,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:806,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:809,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:810,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:811,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:815,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:816,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:817,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:819,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:820,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:835,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 800
    functionDepth: 6
    functionLinenumber: 800
    functionLinenumberEnd: 840
    functionName: tcmalloc_internal::free_non_normal
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::InvokeHooksAndFreePages
    - GetMemoryTag
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - Policy::align
    - sizemap
    - absl::bit_cast<uintptr_t>
    - TC_ASSERT
    - Policy::InSamePartitionAs
    - TC_ASSERT_EQ
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE free_non_normal(void* ptr, size_t size,\n
      \                                                   Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:856,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:860,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:864,1
    - Dst: tcmalloc_internal::free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:865,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:881,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:883,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:884,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 843
    functionDepth: 7
    functionLinenumber: 843
    functionLinenumberEnd: 888
    functionName: tcmalloc_internal::do_free_with_size
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::InSamePartitionAs
    - tcmalloc_internal::InvokeHooksAndFreePages
    - tcmalloc_internal::free_non_normal
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::CorrectAlignment
    - Policy::align
    - sizemap
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - tcmalloc_internal::CorrectSize
    - TC_ASSERT
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:899,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:903,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:929,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:936,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: Policy::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:940,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:942,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:957,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ptr
    - provided_size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 892
    functionDepth: 4
    functionLinenumber: 892
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::CorrectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK_LE
    - guardedpage_allocator
    - Policy::AccessAsCold
    - ABSL_PREDICT_FALSE
    - Policy::align
    - sizemap
    - ABSL_PREDICT_TRUE
    - IsNormalMemory
    - ReportMismatchedDelete
    - static_cast<size_t>
    - tcmalloc_internal::GetSize
    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:966,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:968,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 979
    functionName: tcmalloc_internal::CorrectAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::max
    - static_cast<std::align_val_t>
    - TC_ASSERT
    - static_cast<size_t>
    - absl::has_single_bit
    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:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 983
    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:987,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 989
    functionName: tcmalloc_internal::do_malloc_trim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    - static_cast<void>
    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: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    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:998,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1002,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1006,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1007,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1009,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 996
    functionDepth: 4
    functionLinenumber: 996
    functionLinenumberEnd: 1014
    functionName: tcmalloc_internal::do_mallinfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractTCMallocStats
    - static_cast<int>
    - tcmalloc_internal::InUseByApp
    - memset
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo do_mallinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1029,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1034
    functionName: tcmalloc_internal::do_mallinfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::InUseByApp
    - 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:609,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:612,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:614,1
    - Dst: tcmalloc_internal::MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: Policy::partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:617,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - size
    - weight
    - policy
    argTypes:
    - size_t
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 634
    functionName: tcmalloc_internal::do_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - std::max<Length>
    - active_partitions
    - GetMemoryTag
    - SampleLargeAllocation
    - Policy::align
    - Policy::partition
    - Span*::start_address
    - Policy::is_cold
    - Length
    - page_allocator
    - TC_ASSERT
    - Length::in_bytes
    - tcmalloc_internal::ColdFeatureActive
    - TC_CHECK_EQ
    - tcmalloc_internal::BytesToLengthCeil
    - tcmalloc_internal::MultiNormalTag
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t do_malloc_pages(size_t size, size_t weight, Policy policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:643,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:660,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:663,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:664,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:672,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:673,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:678,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:679,1
    - Dst: tcmalloc_internal::GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:680,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:686,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:690,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:699,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:706,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:708,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - std::optional<size_t>
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 716
    functionName: tcmalloc_internal::InvokeHooksAndFreePages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::GetLargeSize
    - PointerIsMine
    - PointerIsCorrectlyAligned
    - tcmalloc_internal::PageIdContaining
    - ReportDoubleFree
    - MaybeUnsampleAllocation
    - tcmalloc_internal::Range
    - pagemap
    - MallocHook::InvokeDeleteHook
    - invalid_span
    - static_cast<std::align_val_t>
    - Span*::num_pages
    - tcmalloc_internal::Span::Delete
    - ReportCorruptedFree
    - GetMemoryTag
    - guardedpage_allocator
    - ABSL_PREDICT_FALSE
    - page_allocator
    - ABSL_PREDICT_TRUE
    - Deallocate
    - TC_ASSERT
    - Span*::donated
    - Span*::start_address
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE InvokeHooksAndFreePages(\n    void* ptr, std::optional<size_t>
      size, Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:740,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:742,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:743,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:747,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:748,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:749,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:753,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:754,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:756,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 738
    functionDepth: 6
    functionLinenumber: 738
    functionLinenumberEnd: 759
    functionName: tcmalloc_internal::do_unsized_free_irregular
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - ReportCorruptedFree
    - GetMemoryTag
    - pagemap
    - tcmalloc_internal::InvokeHooksAndFreePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageIdContaining
    - ABSL_PREDICT_TRUE
    - absl::bit_cast<uintptr_t>
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::FreeSmall
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE do_unsized_free_irregular(void* ptr,\n                                                              Policy
      policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:774,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:775,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:777,1
    - Dst: tcmalloc_internal::do_unsized_free_irregular
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:781,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:784,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:792,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:794,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 762
    functionDepth: 7
    functionLinenumber: 762
    functionLinenumberEnd: 797
    functionName: tcmalloc_internal::do_free
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::InvokeHooksAndFreePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::CorrectAlignment
    - IsInited
    - tcmalloc_internal::PageIdContaining
    - ABSL_PREDICT_TRUE
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - TC_ASSERT
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::do_unsized_free_irregular
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE do_free(void* ptr, Policy policy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:802,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:804,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:806,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:809,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:810,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:811,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:815,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:816,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:817,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:819,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:820,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:835,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 800
    functionDepth: 6
    functionLinenumber: 800
    functionLinenumberEnd: 840
    functionName: tcmalloc_internal::free_non_normal
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::InvokeHooksAndFreePages
    - GetMemoryTag
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - Policy::align
    - sizemap
    - absl::bit_cast<uintptr_t>
    - TC_ASSERT
    - Policy::InSamePartitionAs
    - TC_ASSERT_EQ
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE free_non_normal(void* ptr, size_t size,\n
      \                                                   Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:856,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:860,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:864,1
    - Dst: tcmalloc_internal::free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:865,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:881,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:883,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:884,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 843
    functionDepth: 7
    functionLinenumber: 843
    functionLinenumberEnd: 888
    functionName: tcmalloc_internal::do_free_with_size
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::InSamePartitionAs
    - tcmalloc_internal::InvokeHooksAndFreePages
    - tcmalloc_internal::free_non_normal
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::CorrectAlignment
    - Policy::align
    - sizemap
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - tcmalloc_internal::CorrectSize
    - TC_ASSERT
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:899,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:903,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:929,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:936,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: Policy::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:940,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:942,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:957,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ptr
    - provided_size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 892
    functionDepth: 4
    functionLinenumber: 892
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::CorrectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_LE
    - guardedpage_allocator
    - Policy::AccessAsCold
    - ABSL_PREDICT_FALSE
    - Policy::align
    - sizemap
    - ABSL_PREDICT_TRUE
    - IsNormalMemory
    - ReportMismatchedDelete
    - static_cast<size_t>
    - tcmalloc_internal::GetSize
    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:966,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:968,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 979
    functionName: tcmalloc_internal::CorrectAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::max
    - static_cast<std::align_val_t>
    - TC_ASSERT
    - static_cast<size_t>
    - absl::has_single_bit
    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:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 983
    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:987,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 989
    functionName: tcmalloc_internal::do_malloc_trim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    - static_cast<void>
    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: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    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:998,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1002,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1006,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1007,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1009,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 996
    functionDepth: 4
    functionLinenumber: 996
    functionLinenumberEnd: 1014
    functionName: tcmalloc_internal::do_mallinfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractTCMallocStats
    - static_cast<int>
    - tcmalloc_internal::InUseByApp
    - memset
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo do_mallinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1029,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1034
    functionName: tcmalloc_internal::do_mallinfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::InUseByApp
    - 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: 5
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::MallocExtension_Internal_GetStatsInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Printer::SpaceRequired
    - system_allocator
    - absl::Span<char>
    - tcmalloc_internal::DumpStatsInPbtxt
    - TC_ASSERT_GT
    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: 5
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: tcmalloc_internal::PrintStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - strlen
    - write
    - char::char
    - tcmalloc_internal::DumpStats
    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: 6
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::MallocExtension_Internal_GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - std::string*::resize
    - std::string*::capacity
    - tcmalloc_internal::TCMalloc_Internal_GetStats
    - absl::bit_width
    - std::string*::begin
    - 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: 5
    functionLinenumber: 235
    functionLinenumberEnd: 258
    functionName: tcmalloc_internal::TCMalloc_Internal_GetStats
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - Printer::printf
    - release_errors
    - Printer::SpaceRequired
    - system_allocator
    - absl::Span<char>
    - GetRegionFactory
    - tcmalloc_internal::DumpStats
    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:
    - DumpFragmentationProfile
    - peak_heap_tracker
    - DumpHeapProfile
    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:
    - AllocationSample::AllocationSample
    - absl::Now
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:286,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:287,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: tcmalloc_internal::GetOwnership
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - pagemap
    - invalid_span
    - 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:297,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: 298
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:308,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit_kind
    argTypes:
    - tcmalloc::MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: tcmalloc_internal::MallocExtension_Internal_GetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<PageAllocator::LimitKind>
    - page_allocator
    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:315,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:317,1
    - Dst: static_cast<PageAllocator::LimitKind>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - limit
    - limit_kind
    argTypes:
    - size_t
    - tcmalloc::MallocExtension::LimitKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::MallocExtension_Internal_SetMemoryLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - static_cast<PageAllocator::LimitKind>
    - tcmalloc_internal::Parameters::set_heap_size_hard_limit
    - page_allocator
    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:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: tcmalloc_internal::MallocExtension_Internal_MarkThreadIdle
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    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:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    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:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    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:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    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:360,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:361,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:363,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:364,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:365,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:366,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: tcmalloc_internal::nallocx_slow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::BytesToLengthCeil
    - ABSL_PREDICT_TRUE
    - sizemap
    - InitIfNecessary
    - CppPolicy
    - static_cast<size_t>
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: ABSL_ATTRIBUTE_NOINLINE nallocx_slow(size_t size, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:378,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:378,1
    - Dst: tcmalloc_internal::nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:379,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:382,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:383,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:384,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:385,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 389
    functionName: tcmalloc_internal::nallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::BytesToLengthCeil
    - IsInited
    - sizemap
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::nallocx_slow
    - CppPolicy
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: size_t nallocx(size_t size, int flags) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 394
    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:401,1
    - Dst: tcmalloc_internal::VirtualMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:403,1
    - Dst: tcmalloc_internal::PhysicalMemoryUsed
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:404,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:405,1
    - Dst: std::map<std::string, MallocExtension::Property>*::clear
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:407,1
    - Dst: tcmalloc_internal::HeapSizeBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:415,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:417,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:418,1
    - Dst: tcmalloc_internal::safe_div
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:419,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:438,1
    - Dst: tcmalloc_internal::LocalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:443,1
    - Dst: tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:446,1
    - Dst: sampled_internal_fragmentation_::value
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:455,1
    - Dst: tcmalloc_internal::ExternalBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:458,1
    - Dst: tcmalloc_internal::RequiredBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:459,1
    - Dst: tcmalloc_internal::SlackBytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:460,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:463,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:465,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:469,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:471,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:474,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:477,1
    - Dst: TCMallocStats::num_released_total::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:481,1
    - Dst: TCMallocStats::num_released_release_memory_to_system::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:483,1
    - Dst: TCMallocStats::num_released_process_background_actions::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:485,1
    - Dst: TCMallocStats::num_released_soft_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:487,1
    - Dst: TCMallocStats::num_released_hard_limit_exceeded::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::map<std::string, MallocExtension::Property>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 396
    functionDepth: 4
    functionLinenumber: 396
    functionLinenumberEnd: 490
    functionName: tcmalloc_internal::MallocExtension_Internal_GetProperties
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, MallocExtension::Property>*::clear
    - tcmalloc_internal::ExternalBytes
    - TCMallocStats::num_released_soft_limit_exceeded::in_bytes
    - tcmalloc_internal::LocalBytes
    - tcmalloc_internal::VirtualMemoryUsed
    - tcmalloc_internal::HeapSizeBytes
    - tcmalloc_internal::safe_div
    - sampled_internal_fragmentation_::value
    - tcmalloc_internal::PhysicalMemoryUsed
    - tcmalloc_internal::RequiredBytes
    - TCMallocStats::num_released_release_memory_to_system::in_bytes
    - static_cast<uint64_t>
    - tcmalloc_internal::InUseByApp
    - TCMallocStats::num_released_hard_limit_exceeded::in_bytes
    - tcmalloc_internal::SlackBytes
    - tcmalloc_internal::ExtractTCMallocStats
    - TCMallocStats::num_released_total::in_bytes
    - CpuCacheActive
    - TCMallocStats::num_released_process_background_actions::in_bytes
    - page_allocator
    - tcmalloc_internal::ThreadCache::set_overall_thread_cache_size
    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:493,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:493,1
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:496,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 500
    functionName: tcmalloc_internal::MallocExtension_Internal_ReleaseCpuMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - cpu_cache
    - tcmalloc_internal::subtle::percpu::IsFast
    - CpuCacheActive
    linkageType: ''
    returnType: size_t
    signature: size_t MallocExtension_Internal_ReleaseCpuMemory(int cpu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:513,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:514,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:516,1
    - Dst: sampled_allocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:519,1
    - Dst: bytes_in_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - ' span'
    argTypes:
    - void*
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 523
    functionName: tcmalloc_internal::GetLargeSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    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:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ' span'
    argTypes:
    - void*
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 527
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContainingTagged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:531,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:533,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:535,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:537,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:538,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:539,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:540,1
    - Dst: tcmalloc_internal::GetLargeSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 544
    functionName: tcmalloc_internal::GetSizeAndSampled
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - pagemap
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - invalid_span
    - tcmalloc_internal::PageIdContainingTagged
    - sizemap
    - tcmalloc_internal::GetLargeSizeAndSampled
    - ReportDoubleFree
    linkageType: ''
    returnType: SizeAndSampled
    signature: SizeAndSampled GetSizeAndSampled(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 546
    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:551,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:552,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:554,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:554,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:555,1
    - Dst: ThreadCache::GetCacheIfPresent
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:556,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:557,1
    - Dst: ThreadCache*::Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:558,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:562,1
    - Dst: absl::Span<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:563,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: 565
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 565
    functionName: tcmalloc_internal::FreeWithHooksOrPerThread
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - MallocHook::InvokeDeleteHook
    - ThreadCache*::Deallocate
    - cpu_cache
    - ABSL_PREDICT_TRUE
    - sizemap
    - tcmalloc_internal::UsePerCpuCache
    - transfer_cache
    - ThreadCache::GetCacheIfPresent
    - absl::Span<void*>
    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:578,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:578,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:579,1
    - Dst: tcmalloc_internal::UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:579,1
    - Dst: tcmalloc_internal::FreeWithHooksOrPerThread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:580,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:582,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: 583
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: tcmalloc_internal::FreeSmallSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::FreeWithHooksOrPerThread
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - tcmalloc_internal::UsePerCpuCache
    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:587,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:588,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:588,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:590,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:590,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:598,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:599,1
    - Dst: tcmalloc_internal::FreeSmallSlow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - size
    - size_class
    argTypes:
    - void*
    - std::optional<size_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: tcmalloc_internal::FreeSmall
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 8
    functionsReached:
    - GetMemoryTag
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - IsNormalMemory
    - TC_ASSERT
    - TC_ASSERT_EQ
    - tcmalloc_internal::FreeSmallSlow
    - tcmalloc_internal::IsExpandedSizeClass
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max<Length>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:612,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:614,1
    - Dst: tcmalloc_internal::MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: Policy::partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:617,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - size
    - weight
    - policy
    argTypes:
    - size_t
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 634
    functionName: tcmalloc_internal::do_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - std::max<Length>
    - active_partitions
    - GetMemoryTag
    - SampleLargeAllocation
    - Policy::align
    - Policy::partition
    - Span*::start_address
    - Policy::is_cold
    - Length
    - page_allocator
    - TC_ASSERT
    - Length::in_bytes
    - tcmalloc_internal::ColdFeatureActive
    - TC_CHECK_EQ
    - tcmalloc_internal::BytesToLengthCeil
    - tcmalloc_internal::MultiNormalTag
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t do_malloc_pages(size_t size, size_t weight, Policy policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:643,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:660,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:663,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:664,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:672,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:673,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:678,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:679,1
    - Dst: tcmalloc_internal::GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:680,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:686,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:690,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:699,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:706,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:708,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - std::optional<size_t>
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 716
    functionName: tcmalloc_internal::InvokeHooksAndFreePages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::GetLargeSize
    - PointerIsMine
    - PointerIsCorrectlyAligned
    - tcmalloc_internal::PageIdContaining
    - ReportDoubleFree
    - MaybeUnsampleAllocation
    - tcmalloc_internal::Range
    - pagemap
    - MallocHook::InvokeDeleteHook
    - invalid_span
    - static_cast<std::align_val_t>
    - Span*::num_pages
    - tcmalloc_internal::Span::Delete
    - ReportCorruptedFree
    - GetMemoryTag
    - guardedpage_allocator
    - ABSL_PREDICT_FALSE
    - page_allocator
    - ABSL_PREDICT_TRUE
    - Deallocate
    - TC_ASSERT
    - Span*::donated
    - Span*::start_address
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE InvokeHooksAndFreePages(\n    void* ptr, std::optional<size_t>
      size, Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:740,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:742,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:743,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:747,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:748,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:749,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:753,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:754,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:756,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 738
    functionDepth: 6
    functionLinenumber: 738
    functionLinenumberEnd: 759
    functionName: tcmalloc_internal::do_unsized_free_irregular
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - ReportCorruptedFree
    - GetMemoryTag
    - pagemap
    - tcmalloc_internal::InvokeHooksAndFreePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageIdContaining
    - ABSL_PREDICT_TRUE
    - absl::bit_cast<uintptr_t>
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::FreeSmall
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE do_unsized_free_irregular(void* ptr,\n                                                              Policy
      policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:774,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:775,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:777,1
    - Dst: tcmalloc_internal::do_unsized_free_irregular
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:781,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:784,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:792,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:794,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 762
    functionDepth: 7
    functionLinenumber: 762
    functionLinenumberEnd: 797
    functionName: tcmalloc_internal::do_free
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::InvokeHooksAndFreePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::CorrectAlignment
    - IsInited
    - tcmalloc_internal::PageIdContaining
    - ABSL_PREDICT_TRUE
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - TC_ASSERT
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::do_unsized_free_irregular
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE do_free(void* ptr, Policy policy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:802,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:804,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:806,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:809,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:810,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:811,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:815,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:816,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:817,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:819,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:820,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:835,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 800
    functionDepth: 6
    functionLinenumber: 800
    functionLinenumberEnd: 840
    functionName: tcmalloc_internal::free_non_normal
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::InvokeHooksAndFreePages
    - GetMemoryTag
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - Policy::align
    - sizemap
    - absl::bit_cast<uintptr_t>
    - TC_ASSERT
    - Policy::InSamePartitionAs
    - TC_ASSERT_EQ
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE free_non_normal(void* ptr, size_t size,\n
      \                                                   Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:856,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:860,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:864,1
    - Dst: tcmalloc_internal::free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:865,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:881,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:883,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:884,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 843
    functionDepth: 7
    functionLinenumber: 843
    functionLinenumberEnd: 888
    functionName: tcmalloc_internal::do_free_with_size
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::InSamePartitionAs
    - tcmalloc_internal::InvokeHooksAndFreePages
    - tcmalloc_internal::free_non_normal
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::CorrectAlignment
    - Policy::align
    - sizemap
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - tcmalloc_internal::CorrectSize
    - TC_ASSERT
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:899,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:903,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:929,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:936,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: Policy::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:940,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:942,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:957,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ptr
    - provided_size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 892
    functionDepth: 4
    functionLinenumber: 892
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::CorrectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK_LE
    - guardedpage_allocator
    - Policy::AccessAsCold
    - ABSL_PREDICT_FALSE
    - Policy::align
    - sizemap
    - ABSL_PREDICT_TRUE
    - IsNormalMemory
    - ReportMismatchedDelete
    - static_cast<size_t>
    - tcmalloc_internal::GetSize
    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:966,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:968,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 979
    functionName: tcmalloc_internal::CorrectAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::max
    - static_cast<std::align_val_t>
    - TC_ASSERT
    - static_cast<size_t>
    - absl::has_single_bit
    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:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 983
    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:987,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 989
    functionName: tcmalloc_internal::do_malloc_trim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    - static_cast<void>
    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: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    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:998,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1002,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1006,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1007,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1009,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 996
    functionDepth: 4
    functionLinenumber: 996
    functionLinenumberEnd: 1014
    functionName: tcmalloc_internal::do_mallinfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractTCMallocStats
    - static_cast<int>
    - tcmalloc_internal::InUseByApp
    - memset
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo do_mallinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1029,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1034
    functionName: tcmalloc_internal::do_mallinfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::InUseByApp
    - 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:609,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:609,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:612,1
    - Dst: active_partitions
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:614,1
    - Dst: tcmalloc_internal::MultiNormalTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: Policy::partition
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:615,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:617,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:618,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:625,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:626,1
    - Dst: SampleLargeAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:629,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - size
    - weight
    - policy
    argTypes:
    - size_t
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 634
    functionName: tcmalloc_internal::do_malloc_pages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - std::max<Length>
    - active_partitions
    - GetMemoryTag
    - SampleLargeAllocation
    - Policy::align
    - Policy::partition
    - Span*::start_address
    - Policy::is_cold
    - Length
    - page_allocator
    - TC_ASSERT
    - Length::in_bytes
    - tcmalloc_internal::ColdFeatureActive
    - TC_CHECK_EQ
    - tcmalloc_internal::BytesToLengthCeil
    - tcmalloc_internal::MultiNormalTag
    linkageType: ''
    returnType: sized_ptr_t
    signature: sized_ptr_t do_malloc_pages(size_t size, size_t weight, Policy policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:643,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:649,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:657,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:658,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: invalid_span
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:659,1
    - Dst: ReportDoubleFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:660,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:663,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:664,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:672,1
    - Dst: PointerIsCorrectlyAligned
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:673,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:674,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:678,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:679,1
    - Dst: tcmalloc_internal::GetLargeSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:680,1
    - Dst: MaybeUnsampleAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:683,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:685,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:686,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:690,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:692,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:693,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:698,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:699,1
    - Dst: tcmalloc_internal::Range
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:703,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:704,1
    - Dst: tcmalloc_internal::Span::Delete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:706,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:708,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:709,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - std::optional<size_t>
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 716
    functionName: tcmalloc_internal::InvokeHooksAndFreePages
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::GetLargeSize
    - PointerIsMine
    - PointerIsCorrectlyAligned
    - tcmalloc_internal::PageIdContaining
    - ReportDoubleFree
    - MaybeUnsampleAllocation
    - tcmalloc_internal::Range
    - pagemap
    - MallocHook::InvokeDeleteHook
    - invalid_span
    - static_cast<std::align_val_t>
    - Span*::num_pages
    - tcmalloc_internal::Span::Delete
    - ReportCorruptedFree
    - GetMemoryTag
    - guardedpage_allocator
    - ABSL_PREDICT_FALSE
    - page_allocator
    - ABSL_PREDICT_TRUE
    - Deallocate
    - TC_ASSERT
    - Span*::donated
    - Span*::start_address
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE InvokeHooksAndFreePages(\n    void* ptr, std::optional<size_t>
      size, Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:740,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:742,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:743,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:747,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:748,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:749,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:752,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:753,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:754,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:756,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 738
    functionDepth: 6
    functionLinenumber: 738
    functionLinenumberEnd: 759
    functionName: tcmalloc_internal::do_unsized_free_irregular
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 3
    functionsReached:
    - ReportCorruptedFree
    - GetMemoryTag
    - pagemap
    - tcmalloc_internal::InvokeHooksAndFreePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::PageIdContaining
    - ABSL_PREDICT_TRUE
    - absl::bit_cast<uintptr_t>
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::FreeSmall
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE do_unsized_free_irregular(void* ptr,\n                                                              Policy
      policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:764,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:774,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:775,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:777,1
    - Dst: tcmalloc_internal::do_unsized_free_irregular
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:781,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:784,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:788,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: tcmalloc_internal::PageIdContaining
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:790,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:791,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:792,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:794,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ptr
    - policy
    argTypes:
    - void*
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 762
    functionDepth: 7
    functionLinenumber: 762
    functionLinenumberEnd: 797
    functionName: tcmalloc_internal::do_free
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - pagemap
    - tcmalloc_internal::InvokeHooksAndFreePages
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::CorrectAlignment
    - IsInited
    - tcmalloc_internal::PageIdContaining
    - ABSL_PREDICT_TRUE
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - TC_ASSERT
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::do_unsized_free_irregular
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: ABSL_ATTRIBUTE_ALWAYS_INLINE do_free(void* ptr, Policy policy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:802,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:804,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:806,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:809,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:810,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:811,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:814,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:815,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:816,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:817,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:819,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:820,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:822,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:835,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:836,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 800
    functionDepth: 6
    functionLinenumber: 800
    functionLinenumberEnd: 840
    functionName: tcmalloc_internal::free_non_normal
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::InvokeHooksAndFreePages
    - GetMemoryTag
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - Policy::align
    - sizemap
    - absl::bit_cast<uintptr_t>
    - TC_ASSERT
    - Policy::InSamePartitionAs
    - TC_ASSERT_EQ
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE free_non_normal(void* ptr, size_t size,\n
      \                                                   Policy policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:846,1
    - Dst: tcmalloc_internal::CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:847,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:856,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:858,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:860,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:864,1
    - Dst: tcmalloc_internal::free_non_normal
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:865,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: tcmalloc_internal::CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:870,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:874,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: Policy::InSamePartitionAs
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:877,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:878,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:880,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:881,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:883,1
    - Dst: tcmalloc_internal::InvokeHooksAndFreePages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:884,1
    - Dst: tcmalloc_internal::FreeSmall
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ptr
    - size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 843
    functionDepth: 7
    functionLinenumber: 843
    functionLinenumberEnd: 888
    functionName: tcmalloc_internal::do_free_with_size
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::InSamePartitionAs
    - tcmalloc_internal::InvokeHooksAndFreePages
    - tcmalloc_internal::free_non_normal
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::CorrectAlignment
    - Policy::align
    - sizemap
    - static_cast<std::align_val_t>
    - absl::bit_cast<uintptr_t>
    - tcmalloc_internal::CorrectSize
    - TC_ASSERT
    - SLOW_PATH_BARRIER
    - tcmalloc_internal::FreeSmall
    - TC_ASSERT_NE
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:897,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:899,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:903,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:905,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:914,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:915,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:929,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:936,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: Policy::AccessAsCold
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:938,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:940,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:942,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:949,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:953,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:957,1
    - Dst: ReportMismatchedDelete
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:958,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - ptr
    - provided_size
    - policy
    argTypes:
    - void*
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 892
    functionDepth: 4
    functionLinenumber: 892
    functionLinenumberEnd: 962
    functionName: tcmalloc_internal::CorrectSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 4
    functionsReached:
    - TC_CHECK_LE
    - guardedpage_allocator
    - Policy::AccessAsCold
    - ABSL_PREDICT_FALSE
    - Policy::align
    - sizemap
    - ABSL_PREDICT_TRUE
    - IsNormalMemory
    - ReportMismatchedDelete
    - static_cast<size_t>
    - tcmalloc_internal::GetSize
    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:966,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:967,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:968,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:971,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:973,1
    - Dst: ReportCorruptedFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 979
    functionName: tcmalloc_internal::CorrectAlignment
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - ReportCorruptedFree
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::max
    - static_cast<std::align_val_t>
    - TC_ASSERT
    - static_cast<size_t>
    - absl::has_single_bit
    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:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 983
    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:987,1
    - Dst: tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 989
    functionName: tcmalloc_internal::do_malloc_trim
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::MallocExtension_Internal_ReleaseMemoryToSystem
    - static_cast<void>
    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: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    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:998,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1002,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1006,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1007,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1009,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 996
    functionDepth: 4
    functionLinenumber: 996
    functionLinenumberEnd: 1014
    functionName: tcmalloc_internal::do_mallinfo
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractTCMallocStats
    - static_cast<int>
    - tcmalloc_internal::InUseByApp
    - memset
    linkageType: ''
    returnType: struct mallinfo
    signature: struct mallinfo do_mallinfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ExtractTCMallocStats
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1020,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1024,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1026,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1027,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1029,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    - Dst: tcmalloc_internal::InUseByApp
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1034
    functionName: tcmalloc_internal::do_mallinfo2
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::ExtractTCMallocStats
    - tcmalloc_internal::InUseByApp
    - 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:1064,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1066,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1066,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1067,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1069,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1073,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1074,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1075,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1078,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1080,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1080,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1082,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1083,1
    - Dst: SampleSmallAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1084,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1087,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1090,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1090,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - size
    - size_class
    - policy
    - weight
    argTypes:
    - size_t
    - size_t
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1094
    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:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - TC_CHECK
    - Policy::handle_oom
    - tcmalloc_internal::ThreadCache::GetCache
    - SampleSmallAllocation
    - cpu_cache
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - ABSL_PREDICT_FALSE
    - IsInited
    - sizemap
    - ABSL_PREDICT_TRUE
    - UsePerCpuCache
    - MallocHook::InvokeNewHook
    - TC_ASSERT
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    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:1111,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: alloc_small_sampled_hooks_or_perthread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1115,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1119,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1121,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: 1122
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1122
    functionName: "typename Policy::pointer_type slow_alloc_small(size_t size,\n                                                   uint32_t
      size_class,\n                                                   Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::handle_oom
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - UsePerCpuCache
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - alloc_small_sampled_hooks_or_perthread
    - GetThreadSampler
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type slow_alloc_small(size_t
      size,\n                                                   uint32_t size_class,\n
      \                                                  Policy policy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1127,1
    - Dst: do_malloc_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1128,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1129,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1129,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1131,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1134,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1134,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1138
    functionName: "typename Policy::pointer_type slow_alloc_large(\n    size_t size,
      Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - Policy::handle_oom
    - ABSL_PREDICT_FALSE
    - GetThreadSampler
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - do_malloc_pages
    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:1149,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1150,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1151,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1160,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1160,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1161,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1162,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1171,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1172,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1173,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1174,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1177,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1179
    functionName: tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - slow_alloc_small
    - sizemap
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - SLOW_PATH_BARRIER
    - GetThreadSampler
    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:1064,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1066,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1066,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1067,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1069,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1073,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1074,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1075,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1078,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1080,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1080,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1082,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1083,1
    - Dst: SampleSmallAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1084,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1087,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1090,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1090,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - size
    - size_class
    - policy
    - weight
    argTypes:
    - size_t
    - size_t
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1094
    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:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - TC_CHECK
    - Policy::handle_oom
    - tcmalloc_internal::ThreadCache::GetCache
    - SampleSmallAllocation
    - cpu_cache
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - ABSL_PREDICT_FALSE
    - IsInited
    - sizemap
    - ABSL_PREDICT_TRUE
    - UsePerCpuCache
    - MallocHook::InvokeNewHook
    - TC_ASSERT
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    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:1111,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: alloc_small_sampled_hooks_or_perthread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1115,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1119,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1121,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: 1122
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1122
    functionName: "typename Policy::pointer_type slow_alloc_small(size_t size,\n                                                   uint32_t
      size_class,\n                                                   Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::handle_oom
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - UsePerCpuCache
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - alloc_small_sampled_hooks_or_perthread
    - GetThreadSampler
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type slow_alloc_small(size_t
      size,\n                                                   uint32_t size_class,\n
      \                                                  Policy policy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1127,1
    - Dst: do_malloc_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1128,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1129,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1129,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1131,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1134,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1134,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1138
    functionName: "typename Policy::pointer_type slow_alloc_large(\n    size_t size,
      Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - Policy::handle_oom
    - ABSL_PREDICT_FALSE
    - GetThreadSampler
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - do_malloc_pages
    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:1149,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1150,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1151,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1160,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1160,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1161,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1162,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1171,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1172,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1173,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1174,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1177,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1179
    functionName: tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - slow_alloc_small
    - sizemap
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - SLOW_PATH_BARRIER
    - GetThreadSampler
    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:1064,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1066,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1066,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1067,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1069,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1073,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1074,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1075,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1078,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1080,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1080,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1082,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1083,1
    - Dst: SampleSmallAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1084,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1087,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1090,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1090,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - size
    - size_class
    - policy
    - weight
    argTypes:
    - size_t
    - size_t
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1094
    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:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - TC_CHECK
    - Policy::handle_oom
    - tcmalloc_internal::ThreadCache::GetCache
    - SampleSmallAllocation
    - cpu_cache
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - ABSL_PREDICT_FALSE
    - IsInited
    - sizemap
    - ABSL_PREDICT_TRUE
    - UsePerCpuCache
    - MallocHook::InvokeNewHook
    - TC_ASSERT
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    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:1111,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: alloc_small_sampled_hooks_or_perthread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1115,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1119,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1121,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: 1122
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1122
    functionName: "typename Policy::pointer_type slow_alloc_small(size_t size,\n                                                   uint32_t
      size_class,\n                                                   Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::handle_oom
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - UsePerCpuCache
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - alloc_small_sampled_hooks_or_perthread
    - GetThreadSampler
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type slow_alloc_small(size_t
      size,\n                                                   uint32_t size_class,\n
      \                                                  Policy policy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1127,1
    - Dst: do_malloc_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1128,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1129,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1129,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1131,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1134,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1134,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1138
    functionName: "typename Policy::pointer_type slow_alloc_large(\n    size_t size,
      Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - Policy::handle_oom
    - ABSL_PREDICT_FALSE
    - GetThreadSampler
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - do_malloc_pages
    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:1149,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1150,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1151,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1160,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1160,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1161,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1162,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1171,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1172,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1173,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1174,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1177,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1179
    functionName: tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - slow_alloc_small
    - sizemap
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - SLOW_PATH_BARRIER
    - GetThreadSampler
    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:1064,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1066,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1066,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1067,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1069,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1073,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1074,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1075,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1076,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1078,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1080,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1080,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1082,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1083,1
    - Dst: SampleSmallAllocation
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1084,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1087,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1090,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1090,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - size
    - size_class
    - policy
    - weight
    argTypes:
    - size_t
    - size_t
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1094
    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:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - TC_CHECK
    - Policy::handle_oom
    - tcmalloc_internal::ThreadCache::GetCache
    - SampleSmallAllocation
    - cpu_cache
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - ABSL_PREDICT_FALSE
    - IsInited
    - sizemap
    - ABSL_PREDICT_TRUE
    - UsePerCpuCache
    - MallocHook::InvokeNewHook
    - TC_ASSERT
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    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:1111,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1112,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1113,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1114,1
    - Dst: alloc_small_sampled_hooks_or_perthread
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1115,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1119,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1120,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1121,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: 1122
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1122
    functionName: "typename Policy::pointer_type slow_alloc_small(size_t size,\n                                                   uint32_t
      size_class,\n                                                   Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - Policy::handle_oom
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - tcmalloc::tcmalloc_internal::TestStaticForwarder::HaveHooks
    - UsePerCpuCache
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - alloc_small_sampled_hooks_or_perthread
    - GetThreadSampler
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NOINLINE
    signature: "ABSL_ATTRIBUTE_NOINLINE typename Policy::pointer_type slow_alloc_small(size_t
      size,\n                                                   uint32_t size_class,\n
      \                                                  Policy policy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1127,1
    - Dst: do_malloc_pages
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1128,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1129,1
    - Dst: Policy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1129,1
    - Dst: tcmalloc_internal::TCMallocPolicy::invoke_hooks
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1131,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1134,1
    - Dst: tcmalloc_internal::TCMallocPolicy::size_returning
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1134,1
    - Dst: tcmalloc_internal::TCMallocPolicy::as_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1138
    functionName: "typename Policy::pointer_type slow_alloc_large(\n    size_t size,
      Policy policy)"
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::TCMallocPolicy::as_pointer
    - tcmalloc_internal::TCMallocPolicy::size_returning
    - Policy::handle_oom
    - ABSL_PREDICT_FALSE
    - GetThreadSampler
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::TCMallocPolicy::invoke_hooks
    - do_malloc_pages
    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:1149,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1150,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1151,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1160,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1160,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1161,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1162,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1171,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1172,1
    - Dst: SLOW_PATH_BARRIER
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1173,1
    - Dst: slow_alloc_small
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1174,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1177,1
    - Dst: tcmalloc_internal::TCMallocPolicy::to_pointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - policy
    argTypes:
    - size_t
    - Policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1179
    functionName: tcmalloc::tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::fast_alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - ABSL_PREDICT_FALSE
    - TC_ASSERT_NE
    - slow_alloc_small
    - sizemap
    - tcmalloc_internal::TCMallocPolicy::to_pointer
    - SLOW_PATH_BARRIER
    - GetThreadSampler
    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:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1187
    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:1193,1
    - Dst: GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1193,1
    - Dst: GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1196
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1200,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1200,1
    - Dst: tcmalloc_internal::nallocx_slow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1201,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1204,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1204,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1205,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1206,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1207,1
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1198
    functionDepth: 2
    functionLinenumber: 1198
    functionLinenumberEnd: 1211
    functionName: MallocExtension_Internal_GetEstimatedAllocatedSize
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::BytesToLengthCeil
    - IsInited
    - sizemap
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::nallocx_slow
    - CppPolicy
    - TC_ASSERT_NE
    linkageType: ''
    returnType: size_t
    signature: "size_t MallocExtension_Internal_GetEstimatedAllocatedSize(\n    size_t
      size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitIfNecessary
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1214,1
    - Dst: UsePerCpuCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1216,1
    - Dst: tcmalloc_internal::ThreadCache::GetCache
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1213
    functionDepth: 3
    functionLinenumber: 1213
    functionLinenumberEnd: 1222
    functionName: MallocExtension_Internal_MarkThreadBusy
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 2
    functionsReached:
    - InitIfNecessary
    - tcmalloc_internal::ThreadCache::GetCache
    - UsePerCpuCache
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_MarkThreadBusy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: span_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1231,1
    - Dst: tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::reserve
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1236,1
    - Dst: pagemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1239,1
    - Dst: tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1240,1
    - Dst: tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::clear
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1243,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1248
    functionName: MallocTracingExtension_Internal_GetAllocatedAddressRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::reserve
    - pagemap
    - absl::InternalError
    - tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::clear
    - tcmalloc::malloc_tracing_extension::AllocatedAddressRanges::spans::size
    - 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:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1252
    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:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - tcmalloc::tcmalloc_internal::MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1257
    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: 1279
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1279
    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:1283,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1284
    functionName: TCMallocInternalMalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - MallocPolicy
    - fast_alloc
    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:1287,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1288
    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:1292,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1293
    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:1297,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    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:1303,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1303,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1303,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1304,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1305
    functionName: __sized_ptr_t::TCMallocInternalSizeReturningNewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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:1328,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    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:1335,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1335,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1335,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1336,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1337,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: 1338
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1338
    functionName: __size_returning_new_aligned_hot_cold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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:1343,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1343,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1344,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1345
    functionName: TCMallocInternalMemalign
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - TC_ASSERT
    - fast_alloc
    - MallocPolicy
    - absl::has_single_bit
    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:1349,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1349,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1349,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1350,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1351
    functionName: TCMallocInternalNewAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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:1355,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1355,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1355,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1356,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1357
    functionName: TCMallocInternalNewAlignedNothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1361,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1361,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: 1362
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1362
    functionName: TCMallocInternalNewHotCold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalNewHotCold(\n    size_t size,
      tcmalloc::hot_cold_t hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1366,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1366,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1366,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1367,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - size
    - alignment
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: TCMallocInternalNewAlignedHotCold
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalNewAlignedHotCold(\n    size_t
      size, std::align_val_t alignment, tcmalloc::hot_cold_t hot_cold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1373,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1373,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: 1374
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1374
    functionName: TCMallocInternalNewHotColdNothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalNewHotColdNothrow(\n    size_t
      size, const std::nothrow_t&,\n    tcmalloc::hot_cold_t hot_cold) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1380,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1380,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1380,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1381,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - size
    - alignment
    - hot_cold
    argTypes:
    - size_t
    - std::align_val_t
    - tcmalloc::hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1383
    functionName: TCMallocInternalNewAlignedHotColdNothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED *\nTCMallocInternalNewAlignedHotColdNothrow(\n
      \   size_t size, std::align_val_t alignment, const std::nothrow_t&,\n    tcmalloc::hot_cold_t
      hot_cold) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1388,1
    - Dst: MultiplyOverflow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1388,1
    - Dst: tcmalloc_internal::TCMallocPolicy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1389,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1389,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1391,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1391,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1392,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - n
    - elem_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1396
    functionName: TCMallocInternalCalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MultiplyOverflow
    - tcmalloc_internal::TCMallocPolicy::handle_oom
    - ABSL_PREDICT_FALSE
    - memset
    - tcmalloc_internal::max
    - ABSL_PREDICT_TRUE
    - fast_alloc
    - MallocPolicy
    linkageType: ''
    returnType: ABSL_CACHELINE_ALIGNED
    signature: "ABSL_CACHELINE_ALIGNED * TCMallocInternalCalloc(\n    size_t n, size_t
      elem_size) noexcept"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1403,1
    - Dst: IsInited
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1403,1
    - Dst: GetSizeAndSampled
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1405,1
    - Dst: GetThreadSampler
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1415,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1423,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1424,1
    - Dst: sizemap
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1426,1
    - Dst: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1428,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1434,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1436,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1438,1
    - Dst: tcmalloc_internal::PartitionFromPointer
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1439,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1444,1
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1448,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1448,1
    - Dst: MallocHook::InvokeDeleteHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1452,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1453,1
    - Dst: MallocHook::InvokeNewHook
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1455,1
    - Dst: const_cast<void*>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1456,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1459,1
    - Dst: CorrectSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1459,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - old_ptr
    - new_size
    - token_id
    argTypes:
    - void*
    - size_t
    - TokenId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1398
    functionDepth: 3
    functionLinenumber: 1398
    functionLinenumberEnd: 1462
    functionName: do_realloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CorrectSize
    - MallocHook::InvokeDeleteHook
    - guardedpage_allocator
    - GetSizeAndSampled
    - memcpy
    - MallocPolicy
    - IsInited
    - sizemap
    - BytesToLengthCeil
    - do_free
    - fast_alloc
    - MallocHook::InvokeNewHook
    - tcmalloc_internal::PartitionFromPointer
    - TC_ASSERT
    - const_cast<void*>
    - GetThreadSampler
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE * do_realloc(void* old_ptr,\n                                                            size_t
      new_size,\n                                                            TokenId
      token_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1467,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1467,1
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1473,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1473,1
    - Dst: do_realloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1464
    functionDepth: 4
    functionLinenumber: 1464
    functionLinenumberEnd: 1477
    functionName: TCMallocInternalRealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 1
    functionsReached:
    - MallocPolicy
    - do_free
    - fast_alloc
    - do_realloc
    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:1482,1
    - Dst: MultiplyOverflow
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1482,1
    - Dst: tcmalloc_internal::TCMallocPolicy::handle_oom
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1483,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1483,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1486,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1486,1
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1489,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1489,1
    - Dst: do_realloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1492,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: 1493
      start: 1479
    functionDepth: 4
    functionLinenumber: 1479
    functionLinenumberEnd: 1493
    functionName: TCMallocInternalReallocArray
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - do_realloc
    - MultiplyOverflow
    - tcmalloc_internal::TCMallocPolicy::handle_oom
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::max
    - do_free
    - fast_alloc
    - MallocPolicy
    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:1499,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1500
    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:1505,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1505,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1505,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1506,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1508
    functionName: tcmalloc_size_returning_operator_new_aligned_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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:1513,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1515
    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:1520,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1520,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1520,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1521,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1521,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: 1526
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1526
    functionName: tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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:1531,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1532
    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:1536,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1537
    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:1541,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1541,1
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1542,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - align
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1543
    functionName: TCMallocInternalFreeAlignedSized
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - do_free_with_size
    - MallocPolicy
    - absl::has_single_bit
    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:1550,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1551,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1552,1
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1554,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1554,1
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1556,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1558
    functionName: TCMallocInternalSdallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - MallocPolicy
    - TC_ASSERT_EQ
    - do_free_with_size
    - static_cast<size_t>
    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:1561,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1562
    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: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1569,1
    - Dst: CorrectAlignment
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1569,1
    - Dst: do_free
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1570,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - alignment
    argTypes:
    - void*
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1571
    functionName: TCMallocInternalDeleteAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - CorrectAlignment
    - CppPolicy
    - do_free
    linkageType: ''
    returnType: void
    signature: "void TCMallocInternalDeleteAligned(\n    void* p, std::align_val_t
      alignment) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1575,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1576
    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:1580,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1580,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1580,1
    - Dst: do_free_with_size
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1581,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1581,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: 1582
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1582
    functionName: TCMallocInternalDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - CppPolicy
    - TC_ASSERT
    - do_free_with_size
    - static_cast<size_t>
    - absl::has_single_bit
    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:1656,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1656,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1662,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1663
    functionName: TCMallocInternalAlignedAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - fast_alloc
    - MallocPolicy
    - absl::has_single_bit
    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:1667,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1668,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1669,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1672,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1672,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1673,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: 1678
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1678
    functionName: TCMallocInternalPosixMemalign
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - fast_alloc
    - MallocPolicy
    - absl::has_single_bit
    - TC_ASSERT_NE
    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:1683,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1683,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1684
    functionName: TCMallocInternalValloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocPolicy
    - GetPageSize
    - fast_alloc
    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:1689,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1694,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1695
    functionName: TCMallocInternalPvalloc
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocPolicy
    - GetPageSize
    - fast_alloc
    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:1698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1699
    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:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1703
    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:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmd
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1707
    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:1711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1712
    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:1717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1718
    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:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ABSL_ATTRIBUTE_UNUSED
    - fp
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1725
    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:1732,1
    - Dst: GetOwnership
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1732,1
    - Dst: GetSize
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1735
    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:1739,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - min_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1741
    functionName: alloc_result_t::TCMallocInternalAllocAtLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocPolicy
    - fast_alloc
    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:1750,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1750,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1757,1
    - Dst: MallocPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alignment
    - min_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1759
    functionName: alloc_result_t::TCMallocInternalAlignedAllocAtLeast
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - fast_alloc
    - MallocPolicy
    - absl::has_single_bit
    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:1776,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1777,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1761
    functionDepth: 2
    functionLinenumber: 1761
    functionLinenumberEnd: 1788
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalFree
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalMalloc
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1777,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1781
    functionName: tcmalloc_internal::TCMallocGuard::TCMallocGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalFree
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalMalloc
    linkageType: ''
    returnType: void
    signature: void TCMallocGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1777,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1781
    functionName: tcmalloc_internal::TCMallocGuard::TCMallocGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalFree
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalMalloc
    linkageType: ''
    returnType: void
    signature: void TCMallocGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1777,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1781
    functionName: tcmalloc_internal::TCMallocGuard::TCMallocGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalFree
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalMalloc
    linkageType: ''
    returnType: void
    signature: void TCMallocGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1776,1
    - Dst: tcmalloc_internal::ThreadCache::InitTSD
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1777,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1778,1
    - Dst: MallocHook_HooksChanged
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1781
    functionName: tcmalloc_internal::TCMallocGuard::TCMallocGuard
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached:
    - MallocHook_HooksChanged
    - TCMallocInternalFree
    - tcmalloc_internal::ThreadCache::InitTSD
    - TCMallocInternalMalloc
    linkageType: ''
    returnType: void
    signature: void TCMallocGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1793,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1794
    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:1798,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1799
    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:1804,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1804,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1804,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1805,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1805,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: 1806
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1806
    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:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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:1811,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1811,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1811,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1812,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1813,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: 1814
      start: 1808
    functionDepth: 1
    functionLinenumber: 1808
    functionLinenumberEnd: 1814
    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:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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:1818,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1819
    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:1823,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - hot_cold
    argTypes:
    - size_t
    - __hot_cold_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1824
    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:1829,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1829,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1829,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1830,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1830,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: 1831
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1831
    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:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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:1836,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1836,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1836,1
    - Dst: fast_alloc
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1837,1
    - Dst: CppPolicy
      Src: /src/tcmalloc/tcmalloc/tcmalloc.cc:1838,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: 1839
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1839
    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:
    - CppPolicy
    - fast_alloc
    - TC_ASSERT
    - static_cast<size_t>
    - 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: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1880
    functionName: DEFINE_ALLOC_TOKEN_NEW
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_ALLOC_TOKEN_NEW(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1952
    functionName: DEFINE_ALLOC_TOKEN_NEW_EXTENSION
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_ALLOC_TOKEN_NEW_EXTENSION(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 2040
    functionName: DEFINE_ALLOC_TOKEN_STDLIB
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_ALLOC_TOKEN_STDLIB(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2045
    functionName: DEFINE_ALLOC_TOKEN_VARIANTS
    functionSourceFile: /src/tcmalloc/tcmalloc/tcmalloc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_ALLOC_TOKEN_VARIANTS(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:76,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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:81,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:84,1
    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::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 1
    functionsReached:
    - 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:99,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:106,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:109,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:114,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:115,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:123,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:127,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:138,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:166,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:170,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:181,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:195,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:203,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,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: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    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:
    - AddSpanStats
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - Release
    - Split
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - std::tie
    - NHugePages
    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:
    - static_cast<double>
    - HugeLength::raw_num
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:284,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:289,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,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: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:316,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:323,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:326,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:327,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:329,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:335,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:338,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:339,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:344,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_CALL
    - SCOPED_TRACE
    - sizes
    - absl::StrCat
    - Advance
    - alloc
    - HugeLength::raw_num
    - Unback
    - std::vector::push_back
    - std::min
    - std::bernoulli_distribution
    - push_back
    - in_bytes
    - size
    - EXPECT_LE
    - Return
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::Frac
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:362,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:366,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:368,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:369,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:380,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:381,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:390,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
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - tcmalloc::tcmalloc_internal::Frac
    - Advance
    - Release
    - NHugePages
    - std::vector::push_back
    - sizes
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:438,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:457,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:464,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - limit
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - ASSERT_GE
    - std::vector::push_back
    - sizes
    - ASSERT_LE
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - ReleaseUnbacked
    - Release
    - usage
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 494
    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: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    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:499,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 500
    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:509,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:530,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:539,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:549,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: absl::Nanoseconds
      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: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - Advance
    - MinMaxTracker::MaxOverTime
    - MinMaxTracker::MinOverTime
    - NHugePages
    - MinMaxTracker::Report
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:76,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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:81,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:84,1
    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::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 2
    functionsReached:
    - 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:99,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:106,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:109,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:114,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:115,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:123,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:127,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:138,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:166,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:170,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:181,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:195,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:203,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,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: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    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:
    - AddSpanStats
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - Release
    - Split
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - std::tie
    - NHugePages
    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:
    - static_cast<double>
    - HugeLength::raw_num
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:284,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:289,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,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: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:316,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:323,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:326,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:327,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:329,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:335,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:338,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:339,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:344,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_CALL
    - SCOPED_TRACE
    - sizes
    - absl::StrCat
    - Advance
    - alloc
    - HugeLength::raw_num
    - Unback
    - std::vector::push_back
    - std::min
    - std::bernoulli_distribution
    - push_back
    - in_bytes
    - size
    - EXPECT_LE
    - Return
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::Frac
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:362,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:366,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:368,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:369,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:380,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:381,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:390,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
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - tcmalloc::tcmalloc_internal::Frac
    - Advance
    - Release
    - NHugePages
    - std::vector::push_back
    - sizes
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:438,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:457,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:464,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - limit
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - ASSERT_GE
    - std::vector::push_back
    - sizes
    - ASSERT_LE
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - ReleaseUnbacked
    - Release
    - usage
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    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: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    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:499,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 500
    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:509,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:530,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:539,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:549,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: absl::Nanoseconds
      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: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - Advance
    - MinMaxTracker::MaxOverTime
    - MinMaxTracker::MinOverTime
    - NHugePages
    - MinMaxTracker::Report
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:76,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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:81,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:84,1
    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::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 3
    functionsReached:
    - 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:99,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:106,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:109,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:114,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:115,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:123,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:127,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:138,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:166,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:170,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:181,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:195,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:203,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,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: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    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:
    - AddSpanStats
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - Release
    - Split
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - std::tie
    - NHugePages
    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:
    - static_cast<double>
    - HugeLength::raw_num
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:284,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:289,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,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: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:316,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:323,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:326,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:327,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:329,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:335,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:338,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:339,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:344,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_CALL
    - SCOPED_TRACE
    - sizes
    - absl::StrCat
    - Advance
    - alloc
    - HugeLength::raw_num
    - Unback
    - std::vector::push_back
    - std::min
    - std::bernoulli_distribution
    - push_back
    - in_bytes
    - size
    - EXPECT_LE
    - Return
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::Frac
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:362,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:366,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:368,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:369,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:380,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:381,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:390,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
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - tcmalloc::tcmalloc_internal::Frac
    - Advance
    - Release
    - NHugePages
    - std::vector::push_back
    - sizes
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:438,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:457,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:464,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - limit
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - ASSERT_GE
    - std::vector::push_back
    - sizes
    - ASSERT_LE
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - ReleaseUnbacked
    - Release
    - usage
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    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: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    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:499,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 500
    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:509,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:530,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:539,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:549,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: absl::Nanoseconds
      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: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - Advance
    - MinMaxTracker::MaxOverTime
    - MinMaxTracker::MinOverTime
    - NHugePages
    - MinMaxTracker::Report
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:76,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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:81,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:84,1
    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::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 4
    functionsReached:
    - 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:99,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:106,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:109,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:114,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:115,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:123,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:127,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:138,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:166,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:170,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:181,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:195,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:203,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,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: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    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:
    - AddSpanStats
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - Release
    - Split
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - std::tie
    - NHugePages
    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:
    - static_cast<double>
    - HugeLength::raw_num
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:284,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:289,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,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: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:316,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:323,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:326,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:327,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:329,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:335,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:338,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:339,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:344,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_CALL
    - SCOPED_TRACE
    - sizes
    - absl::StrCat
    - Advance
    - alloc
    - HugeLength::raw_num
    - Unback
    - std::vector::push_back
    - std::min
    - std::bernoulli_distribution
    - push_back
    - in_bytes
    - size
    - EXPECT_LE
    - Return
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::Frac
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:362,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:366,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:368,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:369,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:380,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:381,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:390,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
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - tcmalloc::tcmalloc_internal::Frac
    - Advance
    - Release
    - NHugePages
    - std::vector::push_back
    - sizes
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:438,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:457,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:464,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - limit
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - ASSERT_GE
    - std::vector::push_back
    - sizes
    - ASSERT_LE
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - ReleaseUnbacked
    - Release
    - usage
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    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: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    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:499,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 500
    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:509,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:530,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:539,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:549,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: absl::Nanoseconds
      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: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - Advance
    - MinMaxTracker::MaxOverTime
    - MinMaxTracker::MinOverTime
    - NHugePages
    - MinMaxTracker::Report
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:76,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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:81,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:84,1
    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::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 5
    functionsReached:
    - 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:99,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:106,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:109,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:114,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:115,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:123,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:127,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:138,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:166,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:170,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:181,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:195,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:203,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,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: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    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:
    - AddSpanStats
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - Release
    - Split
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - std::tie
    - NHugePages
    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:
    - static_cast<double>
    - HugeLength::raw_num
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:284,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:289,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,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: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:316,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:323,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:326,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:327,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:329,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:335,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:338,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:339,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:344,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_CALL
    - SCOPED_TRACE
    - sizes
    - absl::StrCat
    - Advance
    - alloc
    - HugeLength::raw_num
    - Unback
    - std::vector::push_back
    - std::min
    - std::bernoulli_distribution
    - push_back
    - in_bytes
    - size
    - EXPECT_LE
    - Return
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::Frac
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:362,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:366,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:368,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:369,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:380,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:381,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:390,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
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - tcmalloc::tcmalloc_internal::Frac
    - Advance
    - Release
    - NHugePages
    - std::vector::push_back
    - sizes
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:438,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:457,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:464,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - limit
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - ASSERT_GE
    - std::vector::push_back
    - sizes
    - ASSERT_LE
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - ReleaseUnbacked
    - Release
    - usage
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    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: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    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:499,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 500
    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:509,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:530,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:539,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:549,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: absl::Nanoseconds
      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: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - Advance
    - MinMaxTracker::MaxOverTime
    - MinMaxTracker::MinOverTime
    - NHugePages
    - MinMaxTracker::Report
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:76,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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:81,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:84,1
    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::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 6
    functionsReached:
    - 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:99,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:106,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:109,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:114,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:115,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:123,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:127,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:138,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:166,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:170,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:181,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:195,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:203,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,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: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    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:
    - AddSpanStats
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - Release
    - Split
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - std::tie
    - NHugePages
    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:
    - static_cast<double>
    - HugeLength::raw_num
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:284,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:289,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,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: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:316,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:323,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:326,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:327,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:329,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:335,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:338,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:339,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:344,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_CALL
    - SCOPED_TRACE
    - sizes
    - absl::StrCat
    - Advance
    - alloc
    - HugeLength::raw_num
    - Unback
    - std::vector::push_back
    - std::min
    - std::bernoulli_distribution
    - push_back
    - in_bytes
    - size
    - EXPECT_LE
    - Return
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::Frac
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:362,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:366,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:368,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:369,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:380,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:381,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:390,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
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - tcmalloc::tcmalloc_internal::Frac
    - Advance
    - Release
    - NHugePages
    - std::vector::push_back
    - sizes
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:438,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:457,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:464,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - limit
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - ASSERT_GE
    - std::vector::push_back
    - sizes
    - ASSERT_LE
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - ReleaseUnbacked
    - Release
    - usage
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    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: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    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:499,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 500
    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:509,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:530,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:539,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:549,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: absl::Nanoseconds
      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: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - Advance
    - MinMaxTracker::MaxOverTime
    - MinMaxTracker::MinOverTime
    - NHugePages
    - MinMaxTracker::Report
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:76,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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:81,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:84,1
    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::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 7
    functionsReached:
    - 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:99,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:106,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:109,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:114,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:115,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:123,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:127,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:138,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:166,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:170,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:181,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:195,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:203,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,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: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    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:
    - AddSpanStats
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - Release
    - Split
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - std::tie
    - NHugePages
    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:
    - static_cast<double>
    - HugeLength::raw_num
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:284,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:289,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,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: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:316,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:323,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:326,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:327,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:329,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:335,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:338,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:339,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:344,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_CALL
    - SCOPED_TRACE
    - sizes
    - absl::StrCat
    - Advance
    - alloc
    - HugeLength::raw_num
    - Unback
    - std::vector::push_back
    - std::min
    - std::bernoulli_distribution
    - push_back
    - in_bytes
    - size
    - EXPECT_LE
    - Return
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::Frac
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:362,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:366,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:368,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:369,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:380,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:381,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:390,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
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - tcmalloc::tcmalloc_internal::Frac
    - Advance
    - Release
    - NHugePages
    - std::vector::push_back
    - sizes
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:438,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:457,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:464,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - limit
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - ASSERT_GE
    - std::vector::push_back
    - sizes
    - ASSERT_LE
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - ReleaseUnbacked
    - Release
    - usage
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    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: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    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:499,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 500
    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:509,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:530,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:539,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:549,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: absl::Nanoseconds
      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: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - Advance
    - MinMaxTracker::MaxOverTime
    - MinMaxTracker::MinOverTime
    - NHugePages
    - MinMaxTracker::Report
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    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: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(Range r) override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Unback
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus operator()(Range r) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backing_::resize
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:76,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::ResetClock
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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:81,1
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Advance
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::HugeCacheTest::GetFakeClockFrequency
    linkageType: ''
    returnType: void
    signature: void Advance(absl::Duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:84,1
    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::HugeCacheTest::GetCacheTime
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    linkageType: ''
    returnType: absl::Duration
    signature: absl::Duration GetCacheTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HugeRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::HugeCacheTest::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 8
    functionsReached:
    - 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:99,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:106,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:109,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:114,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:115,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:117,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Backing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:123,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:124,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:126,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:127,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:131,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:137,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:138,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:147,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:148,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:149,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:151,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:152,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:154,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:155,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:158,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:159,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Release)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:166,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:167,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:169,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:170,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:174,1
    - Dst: Release
      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: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:181,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: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:190,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:191,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:192,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:195,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:196,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: ReleaseCachedPages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:199,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:200,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:203,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,1
    - Dst: HugeRange::start
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:204,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: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - start
    - HugeRange::start
    - Release
    - EXPECT_CALL
    - Unback
    - NHugePages
    - Return
    - ReleaseCachedPages
    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:
    - AddSpanStats
    - Get
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - Release
    - Split
    - tcmalloc::tcmalloc_internal::Stat
    - Length
    - std::tie
    - NHugePages
    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:
    - static_cast<double>
    - HugeLength::raw_num
    linkageType: ''
    returnType: double
    signature: double Frac(HugeLength num, HugeLength denom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:272,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:274,1
    - Dst: std::bernoulli_distribution
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:284,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:285,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:289,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:294,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:296,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:297,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:300,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: std::min
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:310,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:312,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:316,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:323,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:326,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:327,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:329,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:333,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:335,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: HugeLength::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:337,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:338,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:339,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:344,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_CALL
    - SCOPED_TRACE
    - sizes
    - absl::StrCat
    - Advance
    - alloc
    - HugeLength::raw_num
    - Unback
    - std::vector::push_back
    - std::min
    - std::bernoulli_distribution
    - push_back
    - in_bytes
    - size
    - EXPECT_LE
    - Return
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::tcmalloc_internal::Frac
    - Release
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Growth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:352,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:354,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:355,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:362,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:364,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:366,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:368,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:369,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:370,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SlowGrowthUncached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:378,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:380,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:381,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:388,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:390,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
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - size
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - std::vector::push_back
    - sizes
    - std::max
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, SpikesUncached)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:404,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:407,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:408,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:412,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:417,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:420,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    - Dst: tcmalloc::tcmalloc_internal::Frac
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 428
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - Get
    - tcmalloc::tcmalloc_internal::Frac
    - Advance
    - Release
    - NHugePages
    - std::vector::push_back
    - sizes
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, DipsCached)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Unback
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:433,1
    - Dst: Return
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:435,1
    - Dst: GetCacheTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:438,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:442,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:444,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:447,1
    - Dst: ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:451,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:457,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:462,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: sizes
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:463,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:464,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:465,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:469,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    - Dst: limit
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - size
    - limit
    - Advance
    - Release
    - EXPECT_CALL
    - Return
    - Unback
    - NHugePages
    - ASSERT_GE
    - std::vector::push_back
    - sizes
    - ASSERT_LE
    - GetCacheTime
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Shrink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:477,1
    - Dst: Get
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:480,1
    - Dst: Release
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:483,1
    - Dst: ReleaseUnbacked
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    - Dst: usage
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - Get
    - EXPECT_EQ
    - ReleaseUnbacked
    - Release
    - usage
    - NHugePages
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugeCacheTest, Usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    - Dst: tcmalloc::tcmalloc_internal::MinMaxTrackerTest::GetFakeClockFrequency
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 494
    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: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    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:499,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 500
    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:509,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:515,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:519,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:523,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:527,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:530,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:533,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:537,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:539,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:546,1
    - Dst: Advance
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:549,1
    - Dst: MinMaxTracker::Report
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:551,1
    - Dst: absl::Nanoseconds
      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: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:552,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: MinMaxTracker::MaxOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    - Dst: MinMaxTracker::MinOverTime
      Src: /src/tcmalloc/tcmalloc/huge_cache_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_cache_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - Advance
    - MinMaxTracker::MaxOverTime
    - MinMaxTracker::MinOverTime
    - NHugePages
    - MinMaxTracker::Report
    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:142,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:
    - PageIdContaining
    - PageId
    - TC_ASSERT_LE
    - TC_ASSERT_GE
    - static_cast<char*>
    - H::combine
    - std::move
    - len
    - start_addr
    - Length
    - contains
    - ceil
    - in_bytes
    - raw_num
    - reinterpret_cast<void*>
    - tcmalloc_internal::Make
    - HugePageContaining
    - precedes
    - HLFromBytes
    - HugeLength
    - index
    - TC_CHECK
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - start
    - tcmalloc_internal::max
    - end_addr
    - absl::Format
    - NHugePages
    - static_cast<size_t>
    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:
    - PageId
    - TC_ASSERT_LE
    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: 8
    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: 8
    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:142,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:
    - HLFromBytes
    - tcmalloc_internal::max
    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::PageIdContaining
    - tcmalloc_internal::HugePageContaining
    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
    - tcmalloc_internal::start
    - H::combine
    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::contains
    - tcmalloc_internal::HugePageContaining
    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::start
    - HugeRange::contains
    - tcmalloc_internal::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::precedes
    - TC_CHECK
    - HugeRange::start
    - HugeRange::len
    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
    - tcmalloc_internal::Make
    - HugeRange::start
    - 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:
    - PageId
    - TC_ASSERT_LE
    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: 8
    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: 8
    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:142,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:
    - HLFromBytes
    - tcmalloc_internal::max
    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::PageIdContaining
    - tcmalloc_internal::HugePageContaining
    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
    - tcmalloc_internal::start
    - H::combine
    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::contains
    - tcmalloc_internal::HugePageContaining
    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::start
    - HugeRange::contains
    - tcmalloc_internal::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::precedes
    - TC_CHECK
    - HugeRange::start
    - HugeRange::len
    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
    - tcmalloc_internal::Make
    - HugeRange::start
    - 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:84,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:84,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:146,1
    - Dst: Shr<3>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:147,1
    - Dst: Shr<7>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:150,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.h:158,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:158,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:229,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:238,1
    - Dst: scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:250,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:251,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:275,1
    - Dst: GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:276,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:290,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:297,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:304,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/sizemap.h:325,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:327,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 340
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - Shr<3>
    - ClassIndexMaybe
    - Shr<7>
    - ASSUME
    - TC_ASSERT_LE
    - num_objects_to_move
    - is_cold
    - class_to_size
    - absl::has_single_bit
    - align
    - scaled_numa_partition
    - GetSizeClass
    - TC_CHECK
    - ABSL_PREDICT_FALSE
    - __builtin_constant_p
    - tcmalloc_internal::max
    - ABSL_PREDICT_TRUE
    - TC_ASSERT
    - static_cast<size_t>
    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:84,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:84,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:146,1
    - Dst: Shr<3>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:147,1
    - Dst: Shr<7>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:150,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.h:158,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:158,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:229,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:238,1
    - Dst: scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:250,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:251,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:275,1
    - Dst: GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:276,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:290,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:297,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:304,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/sizemap.h:325,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:327,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 334
    functionName: "ABSL_ATTRIBUTE_ALWAYS_INLINE absl::Span<const size_t> ColdSizeClasses()\n
      \     const"
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - Shr<3>
    - ClassIndexMaybe
    - Shr<7>
    - ASSUME
    - TC_ASSERT_LE
    - num_objects_to_move
    - is_cold
    - class_to_size
    - absl::has_single_bit
    - align
    - scaled_numa_partition
    - GetSizeClass
    - TC_CHECK
    - ABSL_PREDICT_FALSE
    - __builtin_constant_p
    - tcmalloc_internal::max
    - ABSL_PREDICT_TRUE
    - TC_ASSERT
    - static_cast<size_t>
    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
      \ [[nodiscard]] bool Init(absl::Span<const SizeClassInfo> size_classes);\n\n
      \ struct SizeMapResult {\n    bool is_small;\n    size_t size_class;\n  };\n\n
      \ // Returns the size class for size `size` respecting the alignment\n  // &
      access requirements of `policy`.\n  //\n  // Returns true for `is_small` for
      size class-ful allocations. Returns false\n  // 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  [[nodiscard]] ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED\n
      \     ABSL_ATTRIBUTE_ALWAYS_INLINE inline SizeMapResult GetSizeClass(\n          Policy
      policy, size_t size) const {\n    const size_t align = static_cast<size_t>(policy.align());\n
      \   TC_ASSERT(absl::has_single_bit(align));\n\n    if (ABSL_PREDICT_FALSE(align
      > kPageSize)) {\n      return {false};\n    }\n\n    size_t idx;\n    if (ABSL_PREDICT_FALSE(!ClassIndexMaybe(size,
      idx))) {\n      return {false};\n    }\n    size_t size_class;\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, size_class};\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, size_class};\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  [[nodiscard]]
      ABSL_ATTRIBUTE_ALWAYS_INLINE inline size_t SizeClass(\n      Policy policy,
      size_t size) const {\n    ASSUME(size <= kMaxSize);\n    return GetSizeClass(policy,
      size).size_class;\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
      \ [[nodiscard]] bool Init(absl::Span<const SizeClassInfo> size_classes);\n\n
      \ struct SizeMapResult {\n    bool is_small;\n    size_t size_class;\n  };\n\n
      \ // Returns the size class for size `size` respecting the alignment\n  // &
      access requirements of `policy`.\n  //\n  // Returns true for `is_small` for
      size class-ful allocations. Returns false\n  // 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  [[nodiscard]] ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED\n
      \     ABSL_ATTRIBUTE_ALWAYS_INLINE inline SizeMapResult GetSizeClass(\n          Policy
      policy, size_t size) const {\n    const size_t align = static_cast<size_t>(policy.align());\n
      \   TC_ASSERT(absl::has_single_bit(align));\n\n    if (ABSL_PREDICT_FALSE(align
      > kPageSize)) {\n      return {false};\n    }\n\n    size_t idx;\n    if (ABSL_PREDICT_FALSE(!ClassIndexMaybe(size,
      idx))) {\n      return {false};\n    }\n    size_t size_class;\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, size_class};\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, size_class};\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  [[nodiscard]]
      ABSL_ATTRIBUTE_ALWAYS_INLINE inline size_t SizeClass(\n      Policy policy,
      size_t size) const {\n    ASSUME(size <= kMaxSize);\n    return GetSizeClass(policy,
      size).size_class;\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:84,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::SizeMap::Shr
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::max
    - TC_ASSERT_LE
    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:146,1
    - Dst: tcmalloc_internal::SizeMap::Shr
      Src: /src/tcmalloc/tcmalloc/sizemap.h:147,1
    - Dst: tcmalloc_internal::SizeMap::Shr
      Src: /src/tcmalloc/tcmalloc/sizemap.h:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - ' idx'
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 154
    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:158,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 160
    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: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:229,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:238,1
    - Dst: Policy::scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:250,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:251,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: tcmalloc_internal::SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: tcmalloc_internal::SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - policy
    - size
    argTypes:
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 268
    functionName: tcmalloc_internal::SizeMap::GetSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::class_to_size
    - Policy::scaled_numa_partition
    - ABSL_PREDICT_FALSE
    - Policy::align
    - __builtin_constant_p
    - tcmalloc_internal::SizeMap::ClassIndexMaybe
    - Policy::is_cold
    - TC_ASSERT
    - static_cast<size_t>
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    signature: "ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED GetSizeClass(\n          Policy
      policy, size_t size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:275,1
    - Dst: tcmalloc_internal::SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - policy
    - size
    argTypes:
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: tcmalloc_internal::SizeMap::SizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::GetSizeClass
    - ASSUME
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE SizeClass(\n      Policy policy, size_t
      size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 292
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 299
    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:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 318
    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:84,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:84,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:146,1
    - Dst: Shr<3>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:147,1
    - Dst: Shr<7>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:150,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/sizemap.h:158,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:158,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:229,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:238,1
    - Dst: scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:250,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:251,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:275,1
    - Dst: GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:276,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:290,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:297,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:304,1
    - Dst: num_objects_to_move
      Src: /src/tcmalloc/tcmalloc/sizemap.h:325,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:327,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 334
    functionName: "ABSL_ATTRIBUTE_ALWAYS_INLINE absl::Span<const size_t> ColdSizeClasses()\n
      \     const"
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - Shr<3>
    - ClassIndexMaybe
    - Shr<7>
    - ASSUME
    - TC_ASSERT_LE
    - num_objects_to_move
    - is_cold
    - class_to_size
    - absl::has_single_bit
    - align
    - scaled_numa_partition
    - GetSizeClass
    - TC_CHECK
    - ABSL_PREDICT_FALSE
    - __builtin_constant_p
    - tcmalloc_internal::max
    - ABSL_PREDICT_TRUE
    - TC_ASSERT
    - static_cast<size_t>
    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
      \ [[nodiscard]] bool Init(absl::Span<const SizeClassInfo> size_classes);\n\n
      \ struct SizeMapResult {\n    bool is_small;\n    size_t size_class;\n  };\n\n
      \ // Returns the size class for size `size` respecting the alignment\n  // &
      access requirements of `policy`.\n  //\n  // Returns true for `is_small` for
      size class-ful allocations. Returns false\n  // 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  [[nodiscard]] ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED\n
      \     ABSL_ATTRIBUTE_ALWAYS_INLINE inline SizeMapResult GetSizeClass(\n          Policy
      policy, size_t size) const {\n    const size_t align = static_cast<size_t>(policy.align());\n
      \   TC_ASSERT(absl::has_single_bit(align));\n\n    if (ABSL_PREDICT_FALSE(align
      > kPageSize)) {\n      return {false};\n    }\n\n    size_t idx;\n    if (ABSL_PREDICT_FALSE(!ClassIndexMaybe(size,
      idx))) {\n      return {false};\n    }\n    size_t size_class;\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, size_class};\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, size_class};\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  [[nodiscard]]
      ABSL_ATTRIBUTE_ALWAYS_INLINE inline size_t SizeClass(\n      Policy policy,
      size_t size) const {\n    ASSUME(size <= kMaxSize);\n    return GetSizeClass(policy,
      size).size_class;\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
      \ [[nodiscard]] bool Init(absl::Span<const SizeClassInfo> size_classes);\n\n
      \ struct SizeMapResult {\n    bool is_small;\n    size_t size_class;\n  };\n\n
      \ // Returns the size class for size `size` respecting the alignment\n  // &
      access requirements of `policy`.\n  //\n  // Returns true for `is_small` for
      size class-ful allocations. Returns false\n  // 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  [[nodiscard]] ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED\n
      \     ABSL_ATTRIBUTE_ALWAYS_INLINE inline SizeMapResult GetSizeClass(\n          Policy
      policy, size_t size) const {\n    const size_t align = static_cast<size_t>(policy.align());\n
      \   TC_ASSERT(absl::has_single_bit(align));\n\n    if (ABSL_PREDICT_FALSE(align
      > kPageSize)) {\n      return {false};\n    }\n\n    size_t idx;\n    if (ABSL_PREDICT_FALSE(!ClassIndexMaybe(size,
      idx))) {\n      return {false};\n    }\n    size_t size_class;\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, size_class};\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, size_class};\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  [[nodiscard]]
      ABSL_ATTRIBUTE_ALWAYS_INLINE inline size_t SizeClass(\n      Policy policy,
      size_t size) const {\n    ASSUME(size <= kMaxSize);\n    return GetSizeClass(policy,
      size).size_class;\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:84,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/sizemap.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::SizeMap::Shr
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::max
    - TC_ASSERT_LE
    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:146,1
    - Dst: tcmalloc_internal::SizeMap::Shr
      Src: /src/tcmalloc/tcmalloc/sizemap.h:147,1
    - Dst: tcmalloc_internal::SizeMap::Shr
      Src: /src/tcmalloc/tcmalloc/sizemap.h:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - ' idx'
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 154
    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:158,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 160
    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: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    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: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: Policy::align
      Src: /src/tcmalloc/tcmalloc/sizemap.h:226,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/sizemap.h:227,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:229,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: tcmalloc_internal::SizeMap::ClassIndexMaybe
      Src: /src/tcmalloc/tcmalloc/sizemap.h:234,1
    - Dst: Policy::is_cold
      Src: /src/tcmalloc/tcmalloc/sizemap.h:238,1
    - Dst: Policy::scaled_numa_partition
      Src: /src/tcmalloc/tcmalloc/sizemap.h:241,1
    - Dst: __builtin_constant_p
      Src: /src/tcmalloc/tcmalloc/sizemap.h:250,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/sizemap.h:251,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: tcmalloc_internal::SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:262,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    - Dst: tcmalloc_internal::SizeMap::class_to_size
      Src: /src/tcmalloc/tcmalloc/sizemap.h:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - policy
    - size
    argTypes:
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 268
    functionName: tcmalloc_internal::SizeMap::GetSizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SizeMap::class_to_size
    - Policy::scaled_numa_partition
    - ABSL_PREDICT_FALSE
    - Policy::align
    - __builtin_constant_p
    - tcmalloc_internal::SizeMap::ClassIndexMaybe
    - Policy::is_cold
    - TC_ASSERT
    - static_cast<size_t>
    - absl::has_single_bit
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED
    signature: "ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED GetSizeClass(\n          Policy
      policy, size_t size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/sizemap.h:275,1
    - Dst: tcmalloc_internal::SizeMap::GetSizeClass
      Src: /src/tcmalloc/tcmalloc/sizemap.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - policy
    - size
    argTypes:
    - Policy
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: tcmalloc_internal::SizeMap::SizeClass
    functionSourceFile: /src/tcmalloc/tcmalloc/sizemap.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SizeMap::GetSizeClass
    - ASSUME
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE SizeClass(\n      Policy policy, size_t
      size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/sizemap.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 292
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 299
    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:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 318
    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: 8
    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: 8
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - GetDescriptor
    - PageId::index
    - first_page
    - RootAddress
    - clear_sizeclass
    - last_page
    - arena
    - madvise
    - TC_ASSERT_EQ
    - RootSize
    - set_with_sizeclass
    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: tcmalloc_internal::PageMap::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:
    - tcmalloc_internal::PageMap::GetDescriptor
    - PageId::index
    - Span*::first_page
    - Span*::last_page
    - TC_ASSERT_EQ
    - set_with_sizeclass
    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: tcmalloc_internal::PageMap::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:
    - tcmalloc_internal::PageMap::GetDescriptor
    - PageId::index
    - clear_sizeclass
    - Span*::first_page
    - Span*::last_page
    - TC_ASSERT_EQ
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - RootAddress
    - madvise
    - RootSize
    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: tcmalloc_internal::PageMap::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:
    - tcmalloc_internal::PageMap::GetDescriptor
    - PageId::index
    - Span*::first_page
    - Span*::last_page
    - TC_ASSERT_EQ
    - set_with_sizeclass
    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: tcmalloc_internal::PageMap::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:
    - tcmalloc_internal::PageMap::GetDescriptor
    - PageId::index
    - clear_sizeclass
    - Span*::first_page
    - Span*::last_page
    - TC_ASSERT_EQ
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - RootAddress
    - madvise
    - RootSize
    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: BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:204,1
    - Dst: tcmalloc_internal::Length::max
      Src: /src/tcmalloc/tcmalloc/pages.h:207,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:209,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:212,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/pages.h:256,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/pages.h:262,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:262,1
    - Dst: PageIdContaining
      Src: /src/tcmalloc/tcmalloc/pages.h:267,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:300,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:302,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:318,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:318,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:319,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:319,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/pages.h:327,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 332
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - PageIdContaining
    - PageId
    - tcmalloc_internal::Length::max
    - TC_ASSERT_GE
    - H::combine
    - absl::StrCat
    - std::ldexp
    - std::move
    - start_addr
    - Length
    - TC_ASSERT_NE
    - in_bytes
    - raw_num
    - reinterpret_cast<void*>
    - static_cast<int>
    - absl::SimpleAtoi
    - static_cast<double>
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::max
    - BytesToLengthCeil
    - absl::Format
    - static_cast<size_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: 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:
    - static_cast<int>
    - static_cast<double>
    - std::ldexp
    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:
    - Length::raw_num
    - absl::StrCat
    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:
    - Length::raw_num
    - TC_ASSERT_GE
    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:
    - tcmalloc_internal::PageId::start_addr
    - absl::Format
    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: 9
    functionsReached:
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST BytesToLengthCeil(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::BytesToLengthCeil
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 10
    functionsReached:
    - tcmalloc_internal::BytesToLengthCeil
    - static_cast<size_t>
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST BytesToLengthCeil(std::align_val_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: tcmalloc_internal::BytesToLengthFloor
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 4
    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:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    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: 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
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    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: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    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: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    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: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    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:256,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: operator-(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    - TC_ASSERT_GE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/pages.h:262,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::PageIdContaining
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - PageId
    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:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: tcmalloc_internal::PageIdContainingTagged
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 4
    functionsReached:
    - 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: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    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: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    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: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    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: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    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: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    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:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    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: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    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: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    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: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    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: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    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:318,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:318,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:319,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 320
    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: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    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:327,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 329
    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:
    - static_cast<int>
    - static_cast<double>
    - std::ldexp
    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:
    - Length::raw_num
    - absl::StrCat
    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:
    - Length::raw_num
    - TC_ASSERT_GE
    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:
    - tcmalloc_internal::PageId::start_addr
    - absl::Format
    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: 10
    functionsReached:
    - Length
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST BytesToLengthCeil(size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::BytesToLengthCeil
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: tcmalloc_internal::BytesToLengthCeil
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 11
    functionsReached:
    - tcmalloc_internal::BytesToLengthCeil
    - static_cast<size_t>
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST BytesToLengthCeil(std::align_val_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: tcmalloc_internal::BytesToLengthFloor
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 4
    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:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    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: 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
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    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: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    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: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    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: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    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:256,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/pages.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PageId
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: operator-(PageId lhs, PageId rhs)
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 0
    functionsReached:
    - Length
    - TC_ASSERT_GE
    linkageType: ''
    returnType: TCMALLOC_ATTRIBUTE_CONST
    signature: TCMALLOC_ATTRIBUTE_CONST operator-(PageId lhs, PageId rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageId
      Src: /src/tcmalloc/tcmalloc/pages.h:262,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/pages.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: tcmalloc_internal::PageIdContaining
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 15
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - PageId
    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:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: tcmalloc_internal::PageIdContainingTagged
    functionSourceFile: /src/tcmalloc/tcmalloc/pages.h
    functionUses: 4
    functionsReached:
    - 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: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    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: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    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: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    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: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    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: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    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:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' l'
    argTypes:
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    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: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    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: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    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: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    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: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    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:318,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:318,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:319,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 320
    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: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    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:327,1
    - Dst: Length::raw_num
      Src: /src/tcmalloc/tcmalloc/pages.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Length
    - Length
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 329
    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:176,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:181,1
    - Dst: GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:182,1
    - Dst: allocated_pages
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:196,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:204,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:257,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 331
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/guarded_page_allocator.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - static_cast<uint8_t>
    - allocated_pages
    - load
    - GetNearestSlot
    - value
    - absl::bit_cast<uintptr_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: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    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: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    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: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    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: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    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:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - absl_nullable
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    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* absl_nullable ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:181,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 185
    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: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    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:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    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: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    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:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    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:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    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: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    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: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    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: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    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: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    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:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - absl_nullable
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    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* absl_nullable ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:181,1
    - Dst: tcmalloc_internal::GuardedPageAllocator::GetNearestSlot
      Src: /src/tcmalloc/tcmalloc/guarded_page_allocator.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 185
    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: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    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:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    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: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    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:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    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:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    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: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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: try_lock
      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:
    - reinterpret_cast<uintptr_t>
    - std::find
    - begin
    - pop_back
    - try_lock
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - unlock
    - back
    - end
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - TC_CHECK
    - std::find
    - begin
    - pop_back
    - back
    - end
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:132,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:139,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:154,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stats
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    - empty
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:165,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:186,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:188,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - Span*::start_address
    - forwarder
    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:196,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:200,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:203,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Span*::num_pages
    - Range
    - Span*::donated
    - Span*::start_address
    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:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:215,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_GE
    - TC_CHECK_NE
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - Span*::num_pages
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    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:226,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:229,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - find
    - Span*::num_pages
    - end
    - erase
    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:242,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:251,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:252,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Length
    - absl::Uniform<size_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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,\n                             bool
      enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:287,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:290,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - std::string::resize
    - Printer::SpaceRequired
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    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:298,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:303,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - std::string::resize
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - Printer::SpaceRequired
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:329,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:339,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:340,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:341,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::Uniform<int32_t>
    - RandomAllocSize
    - SCOPED_TRACE
    - std::vector::size
    - New
    - std::vector::push_back
    - absl::StrFormat
    - Delete
    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:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: Length
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:362,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:364,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:369,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetFreeBytes
    - std::min
    - Length
    - EXPECT_LE
    - New
    - std::vector::push_back
    - push_back
    - Delete
    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:383,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,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: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:398,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:400,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:401,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:403,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:405,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 413
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - join
    - absl::Uniform<int32_t>
    - std::thread
    - absl::Barrier::Block
    - RandomAllocSize
    - std::vector::reserve
    - std::vector::size
    - New
    - std::vector::push_back
    - Delete
    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:416,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:420,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:422,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:425,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:430,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:434,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:438,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:442,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:442,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:449,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:450,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - forwarder
    - EXPECT_EQ
    - ReleasePages
    - absl::ZeroDuration
    - Length
    - New
    - push_back
    - Delete
    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:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:462,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:475,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - ReleasePages
    - Length
    - New
    - push_back
    - Delete
    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:488,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:505,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:506,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:521,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:522,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:542,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: EXPECT_EQ
      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:549,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:551,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:567,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:571,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:572,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:573,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:574,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:578,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:590,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:591,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:598,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:600,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:608,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:617,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:626,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:638,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - EXPECT_GT
    - AbandonedPages
    - UseHugeRegionMoreOften
    - New
    - EXPECT_LT
    - EXPECT_EQ
    - Length
    - std::vector::emplace_back
    - DonatedHugePages
    - Length::in_bytes
    - HLFromBytes
    - RefreshStats
    - Delete
    - region
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - ASSERT_LT
    - info
    - NHugePages
    - 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:650,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:663,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:677,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:678,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:706,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:710,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:712,1
    - Dst: EXPECT_EQ
      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:715,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: HasSubstr
      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
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 735
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::StrCat
    - EXPECT_EQ
    - info
    - Length
    - DonatedHugePages
    - AbandonedPages
    - EXPECT_THAT
    - NHugePages
    - PrintInPbtxt
    - New
    - Print
    - HasSubstr
    - RefreshStats
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:742,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:747,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:756,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:757,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: NHugePages
      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:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:795,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:805,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: Length
      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:809,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:817,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:819,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:821,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:825,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 834
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugePageContaining
    - Length
    - DonatedHugePages
    - Span*::first_page
    - AbandonedPages
    - NHugePages
    - New
    - std::swap
    - RefreshStats
    - Span*::donated
    - Delete
    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:840,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:852,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: AbandonedPages
      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:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_TRUE
      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: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:865,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:879,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:886,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:896,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:897,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:902,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:909,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:911,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:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: RefreshStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:930,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:937,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: NHugePages
      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:948,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:948,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:959,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 971
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:989,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:990,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:991,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: New
      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_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1011,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: Length
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1019,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:1037,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1042,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - Length
    - ::operator new
    - New
    - std::vector::push_back
    - Delete
    - 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:1062,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1074,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1075,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1076,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1079,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - cache
    - Length
    - ASSERT_NE
    - Print
    - EXPECT_LE
    - Length::in_bytes
    - New
    - std::vector::push_back
    - Delete
    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:1107,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1126,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Delete
    - Length
    - ASSERT_NE
    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:1133,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1141,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1145,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1151,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1152,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1155,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1158,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1170,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1182
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Length
    - ASSERT_NE
    - DonatedHugePages
    - NHugePages
    - New
    - Delete
    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:1188,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1193,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - 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:1216,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1227
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - mincore
    - std::min
    - TC_CHECK_EQ
    - static_cast<char*>
    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:1231,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    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:1236,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1236,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    - PageId::start_addr
    - std::max<size_t>
    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:1247,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1253
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - HugePage::first_page
    - tcmalloc::tcmalloc_internal::Touch
    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:1257,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1258,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1259,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1261,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - Span*::first_page
    - Span*::last_page
    - 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: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    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:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    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:1302,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1303,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    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:1330,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    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: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    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:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    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:1347,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1349,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<int32_t>
    - Length
    - absl::LogUniform<int32_t>
    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:1360,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1361,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - TouchTHP
    - TC_CHECK_LE
    - Span*::num_pages
    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:1371,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1375,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1379,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1381,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::first_page
    - Span*::num_pages
    - Range
    - Span*::donated
    - Delete
    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:1388,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1389,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1394,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1399,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1405,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1414,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - ASSERT_EQ
    - auto::in_bytes
    - Length
    - LargeSpanStats::normal_pages::in_bytes
    - GetSmallSpanStats
    - auto::raw_num
    - LargeSpanStats::returned_pages::in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1433,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1439,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1440,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1443,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1448,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1451,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1452,1
    - Dst: absl::Bernoulli
      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:1455,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1457,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1463,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1467,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1474,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1475,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1482
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - CheckStats
    - lock
    - absl::Uniform<int32_t>
    - stats
    - Alloc
    - ASSERT_EQ
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Free
    - RandomAllocSize
    - unlock
    - PrepTest
    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:1495,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1516,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1517,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1521,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1524,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1526,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1532,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1539
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - spans::size
    - Print
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - Length
    - spans::empty
    - ThreadManager::Stop
    - absl::Uniform<size_t>
    - std::vector::resize
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - absl::Bernoulli
    - absl::Uniform
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - spans::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: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1551,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1558,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1560,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1563,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1566,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1569,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1579,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1581,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1589,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1594,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1598,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1601,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1620,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1628
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - forwarder
    - std::thread::join
    - spans::size
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - std::thread
    - spans::empty
    - Length
    - absl::Uniform<size_t>
    - std::vector::resize
    - std::vector::push_back
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - std::atomic::store
    - absl::Bernoulli
    - absl::Uniform
    - std::ref
    - join
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - spans::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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:
    - absl_nonnull
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1643
    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:1648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - forwarder
    - first_page
    - donated
    - Range
    - Delete
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1672,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1678,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1679,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1681,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1682,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - absl::ZeroDuration
    - Length
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc_internal::max
    - 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: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    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:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1714,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    - SpanDeleter
    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:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    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:1743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1769,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1775,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1780,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1785,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1786,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1787,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1832
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1836,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1836,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1853,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1861,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1864,1
    - Dst: Length
      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:1868,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1868,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1875,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1878
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1883,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1884,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1898,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1899,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: GetReleaseStats
      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:1912,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1912,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1929,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1938,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1943,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1949,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1963
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - GetReleaseStats
    - EXPECT_EQ
    - EXPECT_FALSE
    - std::vector::empty
    - RegionsStats
    - Length
    - std::vector::pop_back
    - New
    - std::vector::push_back
    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: try_lock
      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:
    - reinterpret_cast<uintptr_t>
    - std::find
    - begin
    - pop_back
    - try_lock
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - unlock
    - back
    - end
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - TC_CHECK
    - std::find
    - begin
    - pop_back
    - back
    - end
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:132,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:139,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:154,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stats
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    - empty
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:165,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:186,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:188,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - Span*::start_address
    - forwarder
    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:196,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:200,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:203,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Span*::num_pages
    - Range
    - Span*::donated
    - Span*::start_address
    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:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:215,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_GE
    - TC_CHECK_NE
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - Span*::num_pages
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    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:226,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:229,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - find
    - Span*::num_pages
    - end
    - erase
    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:242,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:251,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:252,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Length
    - absl::Uniform<size_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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,\n                             bool
      enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:287,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:290,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - std::string::resize
    - Printer::SpaceRequired
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    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:298,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:303,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - std::string::resize
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - Printer::SpaceRequired
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:329,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:339,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:340,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:341,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::Uniform<int32_t>
    - RandomAllocSize
    - SCOPED_TRACE
    - std::vector::size
    - New
    - std::vector::push_back
    - absl::StrFormat
    - Delete
    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:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: Length
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:362,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:364,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:369,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetFreeBytes
    - std::min
    - Length
    - EXPECT_LE
    - New
    - std::vector::push_back
    - push_back
    - Delete
    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:383,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,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: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:398,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:400,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:401,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:403,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:405,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 413
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - join
    - absl::Uniform<int32_t>
    - std::thread
    - absl::Barrier::Block
    - RandomAllocSize
    - std::vector::reserve
    - std::vector::size
    - New
    - std::vector::push_back
    - Delete
    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:416,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:420,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:422,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:425,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:430,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:434,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:438,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:442,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:442,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:449,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:450,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - forwarder
    - EXPECT_EQ
    - ReleasePages
    - absl::ZeroDuration
    - Length
    - New
    - push_back
    - Delete
    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:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:462,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:475,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - ReleasePages
    - Length
    - New
    - push_back
    - Delete
    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:488,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:505,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:506,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:521,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:522,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:542,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: EXPECT_EQ
      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:549,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:551,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:567,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:571,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:572,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:573,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:574,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:578,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:590,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:591,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:598,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:600,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:608,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:617,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:626,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:638,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - EXPECT_GT
    - AbandonedPages
    - UseHugeRegionMoreOften
    - New
    - EXPECT_LT
    - EXPECT_EQ
    - Length
    - std::vector::emplace_back
    - DonatedHugePages
    - Length::in_bytes
    - HLFromBytes
    - RefreshStats
    - Delete
    - region
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - ASSERT_LT
    - info
    - NHugePages
    - 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:650,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:663,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:677,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:678,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:706,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:710,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:712,1
    - Dst: EXPECT_EQ
      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:715,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: HasSubstr
      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
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 735
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::StrCat
    - EXPECT_EQ
    - info
    - Length
    - DonatedHugePages
    - AbandonedPages
    - EXPECT_THAT
    - NHugePages
    - PrintInPbtxt
    - New
    - Print
    - HasSubstr
    - RefreshStats
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:742,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:747,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:756,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:757,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: NHugePages
      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:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:795,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:805,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: Length
      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:809,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:817,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:819,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:821,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:825,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 834
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugePageContaining
    - Length
    - DonatedHugePages
    - Span*::first_page
    - AbandonedPages
    - NHugePages
    - New
    - std::swap
    - RefreshStats
    - Span*::donated
    - Delete
    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:840,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:852,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: AbandonedPages
      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:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_TRUE
      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: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:865,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:879,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:886,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:896,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:897,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:902,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:909,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:911,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:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: RefreshStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:930,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:937,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: NHugePages
      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:948,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:948,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:959,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 971
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:989,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:990,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:991,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: New
      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_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1011,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: Length
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1019,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:1037,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1042,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - Length
    - ::operator new
    - New
    - std::vector::push_back
    - Delete
    - 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:1062,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1074,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1075,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1076,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1079,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - cache
    - Length
    - ASSERT_NE
    - Print
    - EXPECT_LE
    - Length::in_bytes
    - New
    - std::vector::push_back
    - Delete
    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:1107,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1126,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Delete
    - Length
    - ASSERT_NE
    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:1133,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1141,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1145,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1151,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1152,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1155,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1158,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1170,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1182
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Length
    - ASSERT_NE
    - DonatedHugePages
    - NHugePages
    - New
    - Delete
    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:1188,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1193,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - 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:1216,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1227
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 1
    functionsReached:
    - mincore
    - std::min
    - TC_CHECK_EQ
    - static_cast<char*>
    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:1231,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    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:1236,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1236,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<char*>
    - PageId::start_addr
    - std::max<size_t>
    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:1247,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1253
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - HugePage::first_page
    - tcmalloc::tcmalloc_internal::Touch
    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:1257,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1258,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1259,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1261,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - Span*::first_page
    - Span*::last_page
    - 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: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    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:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    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:1302,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1303,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    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:1330,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    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: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    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:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    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:1347,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1349,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<int32_t>
    - Length
    - absl::LogUniform<int32_t>
    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:1360,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1361,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - TouchTHP
    - TC_CHECK_LE
    - Span*::num_pages
    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:1371,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1375,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1379,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1381,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::first_page
    - Span*::num_pages
    - Range
    - Span*::donated
    - Delete
    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:1388,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1389,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1394,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1399,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1405,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1414,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - ASSERT_EQ
    - auto::in_bytes
    - Length
    - LargeSpanStats::normal_pages::in_bytes
    - GetSmallSpanStats
    - auto::raw_num
    - LargeSpanStats::returned_pages::in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1433,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1439,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1440,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1443,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1448,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1451,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1452,1
    - Dst: absl::Bernoulli
      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:1455,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1457,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1463,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1467,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1474,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1475,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1482
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - CheckStats
    - lock
    - absl::Uniform<int32_t>
    - stats
    - Alloc
    - ASSERT_EQ
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Free
    - RandomAllocSize
    - unlock
    - PrepTest
    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:1495,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1516,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1517,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1521,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1524,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1526,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1532,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1539
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - spans::size
    - Print
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - Length
    - spans::empty
    - ThreadManager::Stop
    - absl::Uniform<size_t>
    - std::vector::resize
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - absl::Bernoulli
    - absl::Uniform
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - spans::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: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1551,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1558,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1560,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1563,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1566,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1569,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1579,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1581,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1589,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1594,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1598,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1601,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1620,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1628
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - forwarder
    - std::thread::join
    - spans::size
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - std::thread
    - spans::empty
    - Length
    - absl::Uniform<size_t>
    - std::vector::resize
    - std::vector::push_back
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - std::atomic::store
    - absl::Bernoulli
    - absl::Uniform
    - std::ref
    - join
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - spans::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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:
    - absl_nonnull
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1643
    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:1648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - forwarder
    - first_page
    - donated
    - Range
    - Delete
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1672,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1678,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1679,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1681,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1682,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - absl::ZeroDuration
    - Length
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc_internal::max
    - 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: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    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:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1714,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    - SpanDeleter
    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:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    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:1743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1769,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1775,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1780,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1785,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1786,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1787,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1832
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1836,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1836,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1853,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1861,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1864,1
    - Dst: Length
      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:1868,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1868,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1875,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1878
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1883,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1884,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1898,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1899,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: GetReleaseStats
      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:1912,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1912,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1929,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1938,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1943,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1949,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1963
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - GetReleaseStats
    - EXPECT_EQ
    - EXPECT_FALSE
    - std::vector::empty
    - RegionsStats
    - Length
    - std::vector::pop_back
    - New
    - std::vector::push_back
    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: try_lock
      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:
    - reinterpret_cast<uintptr_t>
    - std::find
    - begin
    - pop_back
    - try_lock
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - unlock
    - back
    - end
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - TC_CHECK
    - std::find
    - begin
    - pop_back
    - back
    - end
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:132,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:139,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:154,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stats
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    - empty
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:165,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:186,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:188,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - Span*::start_address
    - forwarder
    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:196,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:200,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:203,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Span*::num_pages
    - Range
    - Span*::donated
    - Span*::start_address
    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:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:215,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_GE
    - TC_CHECK_NE
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - Span*::num_pages
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    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:226,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:229,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - find
    - Span*::num_pages
    - end
    - erase
    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:242,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:251,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:252,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Length
    - absl::Uniform<size_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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,\n                             bool
      enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:287,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:290,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - std::string::resize
    - Printer::SpaceRequired
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    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:298,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:303,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - std::string::resize
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - Printer::SpaceRequired
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:329,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:339,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:340,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:341,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::Uniform<int32_t>
    - RandomAllocSize
    - SCOPED_TRACE
    - std::vector::size
    - New
    - std::vector::push_back
    - absl::StrFormat
    - Delete
    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:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: Length
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:362,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:364,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:369,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetFreeBytes
    - std::min
    - Length
    - EXPECT_LE
    - New
    - std::vector::push_back
    - push_back
    - Delete
    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:383,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,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: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:398,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:400,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:401,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:403,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:405,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 413
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - join
    - absl::Uniform<int32_t>
    - std::thread
    - absl::Barrier::Block
    - RandomAllocSize
    - std::vector::reserve
    - std::vector::size
    - New
    - std::vector::push_back
    - Delete
    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:416,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:420,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:422,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:425,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:430,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:434,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:438,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:442,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:442,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:449,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:450,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - forwarder
    - EXPECT_EQ
    - ReleasePages
    - absl::ZeroDuration
    - Length
    - New
    - push_back
    - Delete
    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:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:462,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:475,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - ReleasePages
    - Length
    - New
    - push_back
    - Delete
    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:488,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:505,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:506,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:521,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:522,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:542,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: EXPECT_EQ
      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:549,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:551,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:567,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:571,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:572,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:573,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:574,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:578,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:590,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:591,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:598,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:600,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:608,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:617,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:626,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:638,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - EXPECT_GT
    - AbandonedPages
    - UseHugeRegionMoreOften
    - New
    - EXPECT_LT
    - EXPECT_EQ
    - Length
    - std::vector::emplace_back
    - DonatedHugePages
    - Length::in_bytes
    - HLFromBytes
    - RefreshStats
    - Delete
    - region
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - ASSERT_LT
    - info
    - NHugePages
    - 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:650,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:663,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:677,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:678,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:706,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:710,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:712,1
    - Dst: EXPECT_EQ
      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:715,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: HasSubstr
      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
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 735
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::StrCat
    - EXPECT_EQ
    - info
    - Length
    - DonatedHugePages
    - AbandonedPages
    - EXPECT_THAT
    - NHugePages
    - PrintInPbtxt
    - New
    - Print
    - HasSubstr
    - RefreshStats
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:742,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:747,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:756,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:757,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: NHugePages
      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:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:795,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:805,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: Length
      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:809,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:817,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:819,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:821,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:825,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 834
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugePageContaining
    - Length
    - DonatedHugePages
    - Span*::first_page
    - AbandonedPages
    - NHugePages
    - New
    - std::swap
    - RefreshStats
    - Span*::donated
    - Delete
    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:840,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:852,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: AbandonedPages
      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:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_TRUE
      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: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:865,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:879,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:886,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:896,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:897,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:902,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:909,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:911,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:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: RefreshStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:930,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:937,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: NHugePages
      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:948,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:948,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:959,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 971
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:989,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:990,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:991,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: New
      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_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1011,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: Length
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1019,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:1037,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1042,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - Length
    - ::operator new
    - New
    - std::vector::push_back
    - Delete
    - 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:1062,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1074,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1075,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1076,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1079,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - cache
    - Length
    - ASSERT_NE
    - Print
    - EXPECT_LE
    - Length::in_bytes
    - New
    - std::vector::push_back
    - Delete
    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:1107,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1126,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Delete
    - Length
    - ASSERT_NE
    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:1133,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1141,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1145,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1151,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1152,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1155,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1158,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1170,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1182
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Length
    - ASSERT_NE
    - DonatedHugePages
    - NHugePages
    - New
    - Delete
    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:1188,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1193,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - 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:1216,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1227
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 2
    functionsReached:
    - mincore
    - std::min
    - TC_CHECK_EQ
    - static_cast<char*>
    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:1231,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    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:1236,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1236,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<char*>
    - PageId::start_addr
    - std::max<size_t>
    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:1247,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1253
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - HugePage::first_page
    - tcmalloc::tcmalloc_internal::Touch
    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:1257,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1258,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1259,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1261,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - Span*::first_page
    - Span*::last_page
    - 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: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    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:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    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:1302,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1303,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    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:1330,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    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: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    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:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    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:1347,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1349,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<int32_t>
    - Length
    - absl::LogUniform<int32_t>
    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:1360,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1361,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - TouchTHP
    - TC_CHECK_LE
    - Span*::num_pages
    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:1371,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1375,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1379,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1381,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::first_page
    - Span*::num_pages
    - Range
    - Span*::donated
    - Delete
    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:1388,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1389,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1394,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1399,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1405,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1414,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - ASSERT_EQ
    - auto::in_bytes
    - Length
    - LargeSpanStats::normal_pages::in_bytes
    - GetSmallSpanStats
    - auto::raw_num
    - LargeSpanStats::returned_pages::in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1433,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1439,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1440,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1443,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1448,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1451,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1452,1
    - Dst: absl::Bernoulli
      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:1455,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1457,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1463,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1467,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1474,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1475,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1482
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - CheckStats
    - lock
    - absl::Uniform<int32_t>
    - stats
    - Alloc
    - ASSERT_EQ
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Free
    - RandomAllocSize
    - unlock
    - PrepTest
    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:1495,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1516,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1517,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1521,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1524,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1526,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1532,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1539
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - spans::size
    - Print
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - Length
    - spans::empty
    - ThreadManager::Stop
    - absl::Uniform<size_t>
    - std::vector::resize
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - absl::Bernoulli
    - absl::Uniform
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - spans::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: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1551,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1558,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1560,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1563,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1566,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1569,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1579,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1581,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1589,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1594,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1598,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1601,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1620,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1628
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - forwarder
    - std::thread::join
    - spans::size
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - std::thread
    - spans::empty
    - Length
    - absl::Uniform<size_t>
    - std::vector::resize
    - std::vector::push_back
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - std::atomic::store
    - absl::Bernoulli
    - absl::Uniform
    - std::ref
    - join
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - spans::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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:
    - absl_nonnull
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1643
    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:1648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - forwarder
    - first_page
    - donated
    - Range
    - Delete
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1672,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1678,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1679,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1681,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1682,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - absl::ZeroDuration
    - Length
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc_internal::max
    - 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: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    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:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1714,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    - SpanDeleter
    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:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    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:1743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1769,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1775,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1780,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1785,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1786,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1787,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1832
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1836,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1836,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1853,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1861,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1864,1
    - Dst: Length
      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:1868,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1868,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1875,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1878
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1883,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1884,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1898,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1899,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: GetReleaseStats
      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:1912,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1912,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1929,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1938,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1943,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1949,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1963
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - GetReleaseStats
    - EXPECT_EQ
    - EXPECT_FALSE
    - std::vector::empty
    - RegionsStats
    - Length
    - std::vector::pop_back
    - New
    - std::vector::push_back
    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: try_lock
      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:
    - reinterpret_cast<uintptr_t>
    - std::find
    - begin
    - pop_back
    - try_lock
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - unlock
    - back
    - end
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - TC_CHECK
    - std::find
    - begin
    - pop_back
    - back
    - end
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:132,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:139,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:154,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stats
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    - empty
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:165,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:186,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:188,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - Span*::start_address
    - forwarder
    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:196,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:200,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:203,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Span*::num_pages
    - Range
    - Span*::donated
    - Span*::start_address
    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:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:215,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - EXPECT_GE
    - TC_CHECK_NE
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - Span*::num_pages
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    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:226,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:229,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - find
    - Span*::num_pages
    - end
    - erase
    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:242,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:251,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:252,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Length
    - absl::Uniform<size_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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,\n                             bool
      enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:287,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:290,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - std::string::resize
    - Printer::SpaceRequired
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    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:298,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:303,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - std::string::resize
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - Printer::SpaceRequired
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:329,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:339,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:340,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:341,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::Uniform<int32_t>
    - RandomAllocSize
    - SCOPED_TRACE
    - std::vector::size
    - New
    - std::vector::push_back
    - absl::StrFormat
    - Delete
    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:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: Length
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:362,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:364,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:369,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetFreeBytes
    - std::min
    - Length
    - EXPECT_LE
    - New
    - std::vector::push_back
    - push_back
    - Delete
    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:383,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,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: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:398,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:400,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:401,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:403,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:405,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 413
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - join
    - absl::Uniform<int32_t>
    - std::thread
    - absl::Barrier::Block
    - RandomAllocSize
    - std::vector::reserve
    - std::vector::size
    - New
    - std::vector::push_back
    - Delete
    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:416,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:420,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:422,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:425,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:430,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:434,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:438,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:442,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:442,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:449,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:450,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - forwarder
    - EXPECT_EQ
    - ReleasePages
    - absl::ZeroDuration
    - Length
    - New
    - push_back
    - Delete
    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:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:462,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:475,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - ReleasePages
    - Length
    - New
    - push_back
    - Delete
    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:488,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:505,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:506,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:521,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:522,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:542,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: EXPECT_EQ
      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:549,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:551,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:567,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:571,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:572,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:573,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:574,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:578,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:590,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:591,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:598,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:600,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:608,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:617,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:626,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:638,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - EXPECT_GT
    - AbandonedPages
    - UseHugeRegionMoreOften
    - New
    - EXPECT_LT
    - EXPECT_EQ
    - Length
    - std::vector::emplace_back
    - DonatedHugePages
    - Length::in_bytes
    - HLFromBytes
    - RefreshStats
    - Delete
    - region
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - ASSERT_LT
    - info
    - NHugePages
    - 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:650,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:663,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:677,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:678,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:706,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:710,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:712,1
    - Dst: EXPECT_EQ
      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:715,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: HasSubstr
      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
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 735
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::StrCat
    - EXPECT_EQ
    - info
    - Length
    - DonatedHugePages
    - AbandonedPages
    - EXPECT_THAT
    - NHugePages
    - PrintInPbtxt
    - New
    - Print
    - HasSubstr
    - RefreshStats
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:742,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:747,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:756,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:757,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: NHugePages
      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:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:795,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:805,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: Length
      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:809,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:817,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:819,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:821,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:825,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 834
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugePageContaining
    - Length
    - DonatedHugePages
    - Span*::first_page
    - AbandonedPages
    - NHugePages
    - New
    - std::swap
    - RefreshStats
    - Span*::donated
    - Delete
    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:840,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:852,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: AbandonedPages
      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:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_TRUE
      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: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:865,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:879,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:886,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:896,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:897,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:902,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:909,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:911,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:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: RefreshStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:930,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:937,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: NHugePages
      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:948,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:948,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:959,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 971
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:989,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:990,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:991,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: New
      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_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1011,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: Length
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1019,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:1037,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1042,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - Length
    - ::operator new
    - New
    - std::vector::push_back
    - Delete
    - 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:1062,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1074,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1075,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1076,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1079,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - cache
    - Length
    - ASSERT_NE
    - Print
    - EXPECT_LE
    - Length::in_bytes
    - New
    - std::vector::push_back
    - Delete
    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:1107,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1126,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Delete
    - Length
    - ASSERT_NE
    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:1133,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1141,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1145,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1151,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1152,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1155,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1158,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1170,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1182
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Length
    - ASSERT_NE
    - DonatedHugePages
    - NHugePages
    - New
    - Delete
    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:1188,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1193,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - 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:1216,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1227
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 3
    functionsReached:
    - mincore
    - std::min
    - TC_CHECK_EQ
    - static_cast<char*>
    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:1231,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    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:1236,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1236,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<char*>
    - PageId::start_addr
    - std::max<size_t>
    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:1247,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1253
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - HugePage::first_page
    - tcmalloc::tcmalloc_internal::Touch
    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:1257,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1258,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1259,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1261,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - Span*::first_page
    - Span*::last_page
    - 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: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    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:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    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:1302,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1303,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    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:1330,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    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: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    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:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    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:1347,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1349,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<int32_t>
    - Length
    - absl::LogUniform<int32_t>
    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:1360,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1361,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - TouchTHP
    - TC_CHECK_LE
    - Span*::num_pages
    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:1371,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1375,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1379,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1381,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::first_page
    - Span*::num_pages
    - Range
    - Span*::donated
    - Delete
    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:1388,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1389,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1394,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1399,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1405,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1414,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - ASSERT_EQ
    - auto::in_bytes
    - Length
    - LargeSpanStats::normal_pages::in_bytes
    - GetSmallSpanStats
    - auto::raw_num
    - LargeSpanStats::returned_pages::in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1433,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1439,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1440,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1443,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1448,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1451,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1452,1
    - Dst: absl::Bernoulli
      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:1455,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1457,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1463,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1467,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1474,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1475,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1482
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - CheckStats
    - lock
    - absl::Uniform<int32_t>
    - stats
    - Alloc
    - ASSERT_EQ
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Free
    - RandomAllocSize
    - unlock
    - PrepTest
    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:1495,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1516,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1517,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1521,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1524,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1526,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1532,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1539
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - spans::size
    - Print
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - Length
    - spans::empty
    - ThreadManager::Stop
    - absl::Uniform<size_t>
    - std::vector::resize
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - absl::Bernoulli
    - absl::Uniform
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - spans::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: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1551,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1558,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1560,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1563,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1566,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1569,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1579,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1581,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1589,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1594,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1598,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1601,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1620,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1628
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - forwarder
    - std::thread::join
    - spans::size
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - std::thread
    - spans::empty
    - Length
    - absl::Uniform<size_t>
    - std::vector::resize
    - std::vector::push_back
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - std::atomic::store
    - absl::Bernoulli
    - absl::Uniform
    - std::ref
    - join
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - spans::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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:
    - absl_nonnull
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1643
    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:1648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - forwarder
    - first_page
    - donated
    - Range
    - Delete
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1672,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1678,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1679,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1681,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1682,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - absl::ZeroDuration
    - Length
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc_internal::max
    - 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: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    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:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1714,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    - SpanDeleter
    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:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    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:1743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1769,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1775,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1780,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1785,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1786,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1787,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1832
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1836,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1836,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1853,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1861,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1864,1
    - Dst: Length
      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:1868,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1868,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1875,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1878
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1883,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1884,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1898,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1899,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: GetReleaseStats
      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:1912,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1912,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1929,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1938,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1943,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1949,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1963
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - GetReleaseStats
    - EXPECT_EQ
    - EXPECT_FALSE
    - std::vector::empty
    - RegionsStats
    - Length
    - std::vector::pop_back
    - New
    - std::vector::push_back
    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: try_lock
      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:
    - reinterpret_cast<uintptr_t>
    - std::find
    - begin
    - pop_back
    - try_lock
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - unlock
    - back
    - end
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - TC_CHECK
    - std::find
    - begin
    - pop_back
    - back
    - end
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:132,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:139,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: tcmalloc_internal::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:154,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    - tcmalloc_internal::stats
    - empty
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:165,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:186,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:188,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - Span*::start_address
    - forwarder
    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:196,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:200,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:203,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Span*::num_pages
    - Range
    - Span*::donated
    - Span*::start_address
    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:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:215,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - EXPECT_GE
    - TC_CHECK_NE
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - Span*::num_pages
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    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:226,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:229,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - find
    - Span*::num_pages
    - end
    - erase
    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:242,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:251,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:252,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Length
    - absl::Uniform<size_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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,\n                             bool
      enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:287,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:290,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - std::string::resize
    - Printer::SpaceRequired
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    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:298,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:303,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - std::string::resize
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - Printer::SpaceRequired
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:329,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:339,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:340,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:341,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::Uniform<int32_t>
    - RandomAllocSize
    - SCOPED_TRACE
    - std::vector::size
    - New
    - std::vector::push_back
    - absl::StrFormat
    - Delete
    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:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: Length
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:362,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:364,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:369,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetFreeBytes
    - std::min
    - Length
    - EXPECT_LE
    - New
    - std::vector::push_back
    - push_back
    - Delete
    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:383,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,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: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:398,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:400,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:401,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:403,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:405,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 413
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - join
    - absl::Uniform<int32_t>
    - std::thread
    - absl::Barrier::Block
    - RandomAllocSize
    - std::vector::reserve
    - std::vector::size
    - New
    - std::vector::push_back
    - Delete
    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:416,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:420,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:422,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:425,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:430,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:434,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:438,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:442,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:442,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:449,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:450,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - forwarder
    - EXPECT_EQ
    - ReleasePages
    - absl::ZeroDuration
    - Length
    - New
    - push_back
    - Delete
    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:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:462,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:475,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - ReleasePages
    - Length
    - New
    - push_back
    - Delete
    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:488,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:505,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:506,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:521,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:522,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:542,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: EXPECT_EQ
      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:549,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:551,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:567,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:571,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:572,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:573,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:574,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:578,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:590,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:591,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:598,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:600,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:608,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:617,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:626,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:638,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - EXPECT_GT
    - AbandonedPages
    - UseHugeRegionMoreOften
    - New
    - EXPECT_LT
    - EXPECT_EQ
    - Length
    - std::vector::emplace_back
    - DonatedHugePages
    - Length::in_bytes
    - HLFromBytes
    - RefreshStats
    - Delete
    - region
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - ASSERT_LT
    - info
    - NHugePages
    - 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:650,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:663,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:677,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:678,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:706,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:710,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:712,1
    - Dst: EXPECT_EQ
      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:715,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: HasSubstr
      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
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 735
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::StrCat
    - EXPECT_EQ
    - info
    - Length
    - DonatedHugePages
    - AbandonedPages
    - EXPECT_THAT
    - NHugePages
    - PrintInPbtxt
    - New
    - Print
    - HasSubstr
    - RefreshStats
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:742,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:747,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:756,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:757,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: NHugePages
      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:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:795,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:805,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: Length
      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:809,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:817,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:819,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:821,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:825,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 834
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugePageContaining
    - Length
    - DonatedHugePages
    - Span*::first_page
    - AbandonedPages
    - NHugePages
    - New
    - std::swap
    - RefreshStats
    - Span*::donated
    - Delete
    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:840,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:852,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: AbandonedPages
      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:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_TRUE
      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: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:865,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:879,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:886,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:896,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:897,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:902,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:909,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:911,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:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: RefreshStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:930,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:937,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: NHugePages
      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:948,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:948,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:959,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 971
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:989,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:990,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:991,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: New
      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_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1011,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: Length
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1019,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:1037,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1042,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - Length
    - ::operator new
    - New
    - std::vector::push_back
    - Delete
    - 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:1062,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1074,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1075,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1076,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1079,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - cache
    - Length
    - ASSERT_NE
    - Print
    - EXPECT_LE
    - Length::in_bytes
    - New
    - std::vector::push_back
    - Delete
    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:1107,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1126,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Delete
    - Length
    - ASSERT_NE
    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:1133,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1141,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1145,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1151,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1152,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1155,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1158,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1170,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1182
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Length
    - ASSERT_NE
    - DonatedHugePages
    - NHugePages
    - New
    - Delete
    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:1188,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1193,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - 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:1216,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1227
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 4
    functionsReached:
    - mincore
    - std::min
    - TC_CHECK_EQ
    - static_cast<char*>
    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:1231,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    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:1236,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1236,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<char*>
    - PageId::start_addr
    - std::max<size_t>
    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:1247,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1253
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 9
    functionsReached:
    - HugePage::first_page
    - tcmalloc::tcmalloc_internal::Touch
    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:1257,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1258,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1259,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1261,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - Span*::first_page
    - Span*::last_page
    - 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: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    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:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    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:1302,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1303,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    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:1330,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    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: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    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:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    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:1347,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1349,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<int32_t>
    - Length
    - absl::LogUniform<int32_t>
    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:1360,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1361,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - TouchTHP
    - TC_CHECK_LE
    - Span*::num_pages
    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:1371,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1375,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1379,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1381,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::first_page
    - Span*::num_pages
    - Range
    - Span*::donated
    - Delete
    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:1388,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1389,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1394,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1399,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1405,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1414,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - ASSERT_EQ
    - auto::in_bytes
    - Length
    - LargeSpanStats::normal_pages::in_bytes
    - GetSmallSpanStats
    - auto::raw_num
    - LargeSpanStats::returned_pages::in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1433,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1439,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1440,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1443,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1448,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1451,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1452,1
    - Dst: absl::Bernoulli
      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:1455,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1457,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1463,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1467,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1474,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1475,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1482
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - CheckStats
    - lock
    - absl::Uniform<int32_t>
    - stats
    - Alloc
    - ASSERT_EQ
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Free
    - RandomAllocSize
    - unlock
    - PrepTest
    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:1495,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1516,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1517,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1521,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1524,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1526,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1532,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1539
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - spans::size
    - Print
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - Length
    - spans::empty
    - ThreadManager::Stop
    - absl::Uniform<size_t>
    - std::vector::resize
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - absl::Bernoulli
    - absl::Uniform
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - spans::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: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1551,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1558,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1560,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1563,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1566,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1569,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1579,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1581,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1589,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1594,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1598,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1601,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1620,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1628
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - forwarder
    - std::thread::join
    - spans::size
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - std::thread
    - spans::empty
    - Length
    - absl::Uniform<size_t>
    - std::vector::resize
    - std::vector::push_back
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - std::atomic::store
    - absl::Bernoulli
    - absl::Uniform
    - std::ref
    - join
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - spans::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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:
    - absl_nonnull
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1643
    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:1648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - forwarder
    - first_page
    - donated
    - Range
    - Delete
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1672,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1678,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1679,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1681,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1682,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - absl::ZeroDuration
    - Length
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc_internal::max
    - 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: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    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:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1714,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    - SpanDeleter
    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:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    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:1743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1769,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1775,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1780,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1785,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1786,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1787,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1832
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1836,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1836,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1853,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1861,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1864,1
    - Dst: Length
      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:1868,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1868,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1875,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1878
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1883,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1884,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1898,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1899,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: GetReleaseStats
      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:1912,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1912,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1929,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1938,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1943,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1949,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1963
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - GetReleaseStats
    - EXPECT_EQ
    - EXPECT_FALSE
    - std::vector::empty
    - RegionsStats
    - Length
    - std::vector::pop_back
    - New
    - std::vector::push_back
    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: try_lock
      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:
    - reinterpret_cast<uintptr_t>
    - std::find
    - begin
    - pop_back
    - try_lock
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - unlock
    - back
    - end
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - TC_CHECK
    - std::find
    - begin
    - pop_back
    - back
    - end
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:132,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:139,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: tcmalloc_internal::stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:154,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    - tcmalloc_internal::stats
    - empty
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:165,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:186,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:188,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - Span*::start_address
    - forwarder
    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:196,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:200,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:203,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Span*::num_pages
    - Range
    - Span*::donated
    - Span*::start_address
    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:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:215,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - EXPECT_GE
    - TC_CHECK_NE
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - Span*::num_pages
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    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:226,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:229,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - find
    - Span*::num_pages
    - end
    - erase
    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:242,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:251,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:252,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Length
    - absl::Uniform<size_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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,\n                             bool
      enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:287,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:290,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - std::string::resize
    - Printer::SpaceRequired
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    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:298,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:303,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - std::string::resize
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - Printer::SpaceRequired
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:329,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:339,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:340,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:341,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::Uniform<int32_t>
    - RandomAllocSize
    - SCOPED_TRACE
    - std::vector::size
    - New
    - std::vector::push_back
    - absl::StrFormat
    - Delete
    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:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: Length
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:362,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:364,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:369,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetFreeBytes
    - std::min
    - Length
    - EXPECT_LE
    - New
    - std::vector::push_back
    - push_back
    - Delete
    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:383,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,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: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:398,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:400,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:401,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:403,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:405,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 413
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - join
    - absl::Uniform<int32_t>
    - std::thread
    - absl::Barrier::Block
    - RandomAllocSize
    - std::vector::reserve
    - std::vector::size
    - New
    - std::vector::push_back
    - Delete
    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:416,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:420,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:422,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:425,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:430,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:434,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:438,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:442,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:442,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:449,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:450,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - forwarder
    - EXPECT_EQ
    - ReleasePages
    - absl::ZeroDuration
    - Length
    - New
    - push_back
    - Delete
    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:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:462,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:475,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - ReleasePages
    - Length
    - New
    - push_back
    - Delete
    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:488,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:505,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:506,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:521,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:522,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:542,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: EXPECT_EQ
      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:549,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:551,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:567,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:571,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:572,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:573,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:574,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:578,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:590,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:591,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:598,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:600,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:608,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:617,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:626,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:638,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - EXPECT_GT
    - AbandonedPages
    - UseHugeRegionMoreOften
    - New
    - EXPECT_LT
    - EXPECT_EQ
    - Length
    - std::vector::emplace_back
    - DonatedHugePages
    - Length::in_bytes
    - HLFromBytes
    - RefreshStats
    - Delete
    - region
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - ASSERT_LT
    - info
    - NHugePages
    - 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:650,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:663,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:677,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:678,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:706,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:710,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:712,1
    - Dst: EXPECT_EQ
      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:715,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: HasSubstr
      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
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 735
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::StrCat
    - EXPECT_EQ
    - info
    - Length
    - DonatedHugePages
    - AbandonedPages
    - EXPECT_THAT
    - NHugePages
    - PrintInPbtxt
    - New
    - Print
    - HasSubstr
    - RefreshStats
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:742,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:747,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:756,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:757,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: NHugePages
      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:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:795,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:805,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: Length
      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:809,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:817,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:819,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:821,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:825,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 834
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugePageContaining
    - Length
    - DonatedHugePages
    - Span*::first_page
    - AbandonedPages
    - NHugePages
    - New
    - std::swap
    - RefreshStats
    - Span*::donated
    - Delete
    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:840,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:852,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: AbandonedPages
      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:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_TRUE
      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: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:865,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:879,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:886,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:896,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:897,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:902,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:909,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:911,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:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: RefreshStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:930,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:937,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: NHugePages
      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:948,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:948,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:959,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 971
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:989,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:990,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:991,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: New
      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_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1011,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: Length
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1019,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:1037,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1042,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - Length
    - ::operator new
    - New
    - std::vector::push_back
    - Delete
    - 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:1062,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1074,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1075,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1076,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1079,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - cache
    - Length
    - ASSERT_NE
    - Print
    - EXPECT_LE
    - Length::in_bytes
    - New
    - std::vector::push_back
    - Delete
    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:1107,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1126,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Delete
    - Length
    - ASSERT_NE
    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:1133,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1141,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1145,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1151,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1152,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1155,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1158,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1170,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1182
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Length
    - ASSERT_NE
    - DonatedHugePages
    - NHugePages
    - New
    - Delete
    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:1188,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1193,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - 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:1216,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1227
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 5
    functionsReached:
    - mincore
    - std::min
    - TC_CHECK_EQ
    - static_cast<char*>
    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:1231,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    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:1236,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1236,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 10
    functionsReached:
    - reinterpret_cast<char*>
    - PageId::start_addr
    - std::max<size_t>
    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:1247,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1253
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 11
    functionsReached:
    - HugePage::first_page
    - tcmalloc::tcmalloc_internal::Touch
    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:1257,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1258,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1259,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1261,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - Span*::first_page
    - Span*::last_page
    - 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: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    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:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    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:1302,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1303,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    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:1330,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    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: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    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:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    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:1347,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1349,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<int32_t>
    - Length
    - absl::LogUniform<int32_t>
    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:1360,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1361,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - TouchTHP
    - TC_CHECK_LE
    - Span*::num_pages
    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:1371,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1375,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1379,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1381,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::first_page
    - Span*::num_pages
    - Range
    - Span*::donated
    - Delete
    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:1388,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1389,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1394,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1399,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1405,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1414,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - ASSERT_EQ
    - auto::in_bytes
    - Length
    - LargeSpanStats::normal_pages::in_bytes
    - GetSmallSpanStats
    - auto::raw_num
    - LargeSpanStats::returned_pages::in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1433,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1439,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1440,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1443,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1448,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1451,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1452,1
    - Dst: absl::Bernoulli
      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:1455,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1457,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1463,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1467,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1474,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1475,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1482
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - CheckStats
    - lock
    - absl::Uniform<int32_t>
    - stats
    - Alloc
    - ASSERT_EQ
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Free
    - RandomAllocSize
    - unlock
    - PrepTest
    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:1495,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1516,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1517,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1521,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1524,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1526,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1532,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1539
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - spans::size
    - Print
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - Length
    - spans::empty
    - ThreadManager::Stop
    - absl::Uniform<size_t>
    - std::vector::resize
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - absl::Bernoulli
    - absl::Uniform
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - spans::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: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1551,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1558,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1560,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1563,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1566,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1569,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1579,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1581,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1589,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1594,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1598,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1601,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1620,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1628
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - forwarder
    - std::thread::join
    - spans::size
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - std::thread
    - spans::empty
    - Length
    - absl::Uniform<size_t>
    - std::vector::resize
    - std::vector::push_back
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - std::atomic::store
    - absl::Bernoulli
    - absl::Uniform
    - std::ref
    - join
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - spans::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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:
    - absl_nonnull
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1643
    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:1648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - forwarder
    - first_page
    - donated
    - Range
    - Delete
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1672,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1678,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1679,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1681,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1682,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - absl::ZeroDuration
    - Length
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc_internal::max
    - 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: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    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:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1714,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    - SpanDeleter
    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:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    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:1743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1769,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1775,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1780,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1785,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1786,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1787,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1832
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1836,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1836,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1853,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1861,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1864,1
    - Dst: Length
      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:1868,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1868,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1875,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1878
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1883,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1884,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1898,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1899,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: GetReleaseStats
      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:1912,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1912,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1929,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1938,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1943,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1949,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1963
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - GetReleaseStats
    - EXPECT_EQ
    - EXPECT_FALSE
    - std::vector::empty
    - RegionsStats
    - Length
    - std::vector::pop_back
    - New
    - std::vector::push_back
    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: try_lock
      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:
    - reinterpret_cast<uintptr_t>
    - std::find
    - begin
    - pop_back
    - try_lock
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - unlock
    - back
    - end
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - TC_CHECK
    - std::find
    - begin
    - pop_back
    - back
    - end
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:132,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:139,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:154,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stats
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    - empty
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:165,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:186,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:188,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - Span*::start_address
    - forwarder
    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:196,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:200,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:203,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Span*::num_pages
    - Range
    - Span*::donated
    - Span*::start_address
    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:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:215,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - EXPECT_GE
    - TC_CHECK_NE
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - Span*::num_pages
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    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:226,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:229,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - find
    - Span*::num_pages
    - end
    - erase
    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:242,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:251,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:252,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Length
    - absl::Uniform<size_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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,\n                             bool
      enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:287,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:290,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - std::string::resize
    - Printer::SpaceRequired
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    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:298,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:303,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - std::string::resize
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - Printer::SpaceRequired
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:329,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:339,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:340,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:341,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::Uniform<int32_t>
    - RandomAllocSize
    - SCOPED_TRACE
    - std::vector::size
    - New
    - std::vector::push_back
    - absl::StrFormat
    - Delete
    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:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: Length
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:362,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:364,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:369,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetFreeBytes
    - std::min
    - Length
    - EXPECT_LE
    - New
    - std::vector::push_back
    - push_back
    - Delete
    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:383,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,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: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:398,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:400,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:401,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:403,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:405,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 413
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - join
    - absl::Uniform<int32_t>
    - std::thread
    - absl::Barrier::Block
    - RandomAllocSize
    - std::vector::reserve
    - std::vector::size
    - New
    - std::vector::push_back
    - Delete
    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:416,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:420,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:422,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:425,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:430,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:434,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:438,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:442,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:442,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:449,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:450,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - forwarder
    - EXPECT_EQ
    - ReleasePages
    - absl::ZeroDuration
    - Length
    - New
    - push_back
    - Delete
    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:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:462,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:475,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - ReleasePages
    - Length
    - New
    - push_back
    - Delete
    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:488,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:505,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:506,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:521,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:522,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:542,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: EXPECT_EQ
      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:549,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:551,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:567,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:571,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:572,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:573,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:574,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:578,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:590,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:591,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:598,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:600,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:608,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:617,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:626,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:638,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - EXPECT_GT
    - AbandonedPages
    - UseHugeRegionMoreOften
    - New
    - EXPECT_LT
    - EXPECT_EQ
    - Length
    - std::vector::emplace_back
    - DonatedHugePages
    - Length::in_bytes
    - HLFromBytes
    - RefreshStats
    - Delete
    - region
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - ASSERT_LT
    - info
    - NHugePages
    - 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:650,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:663,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:677,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:678,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:706,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:710,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:712,1
    - Dst: EXPECT_EQ
      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:715,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: HasSubstr
      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
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 735
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::StrCat
    - EXPECT_EQ
    - info
    - Length
    - DonatedHugePages
    - AbandonedPages
    - EXPECT_THAT
    - NHugePages
    - PrintInPbtxt
    - New
    - Print
    - HasSubstr
    - RefreshStats
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:742,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:747,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:756,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:757,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: NHugePages
      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:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:795,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:805,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: Length
      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:809,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:817,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:819,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:821,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:825,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 834
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugePageContaining
    - Length
    - DonatedHugePages
    - Span*::first_page
    - AbandonedPages
    - NHugePages
    - New
    - std::swap
    - RefreshStats
    - Span*::donated
    - Delete
    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:840,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:852,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: AbandonedPages
      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:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_TRUE
      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: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:865,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:879,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:886,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:896,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:897,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:902,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:909,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:911,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:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: RefreshStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:930,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:937,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: NHugePages
      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:948,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:948,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:959,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 971
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:989,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:990,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:991,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: New
      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_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1011,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: Length
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1019,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:1037,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1042,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - Length
    - ::operator new
    - New
    - std::vector::push_back
    - Delete
    - 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:1062,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1074,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1075,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1076,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1079,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - cache
    - Length
    - ASSERT_NE
    - Print
    - EXPECT_LE
    - Length::in_bytes
    - New
    - std::vector::push_back
    - Delete
    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:1107,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1126,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Delete
    - Length
    - ASSERT_NE
    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:1133,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1141,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1145,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1151,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1152,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1155,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1158,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1170,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1182
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Length
    - ASSERT_NE
    - DonatedHugePages
    - NHugePages
    - New
    - Delete
    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:1188,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1193,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - 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:1216,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1227
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 6
    functionsReached:
    - mincore
    - std::min
    - TC_CHECK_EQ
    - static_cast<char*>
    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:1231,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    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:1236,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1236,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 12
    functionsReached:
    - reinterpret_cast<char*>
    - PageId::start_addr
    - std::max<size_t>
    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:1247,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1253
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 13
    functionsReached:
    - HugePage::first_page
    - tcmalloc::tcmalloc_internal::Touch
    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:1257,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1258,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1259,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1261,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - Span*::first_page
    - Span*::last_page
    - 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: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    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:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    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:1302,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1303,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    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:1330,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    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: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    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:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    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:1347,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1349,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<int32_t>
    - Length
    - absl::LogUniform<int32_t>
    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:1360,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1361,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - TouchTHP
    - TC_CHECK_LE
    - Span*::num_pages
    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:1371,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1375,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1379,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1381,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::first_page
    - Span*::num_pages
    - Range
    - Span*::donated
    - Delete
    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:1388,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1389,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1394,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1399,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1405,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1414,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - ASSERT_EQ
    - auto::in_bytes
    - Length
    - LargeSpanStats::normal_pages::in_bytes
    - GetSmallSpanStats
    - auto::raw_num
    - LargeSpanStats::returned_pages::in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1433,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1439,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1440,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1443,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1448,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1451,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1452,1
    - Dst: absl::Bernoulli
      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:1455,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1457,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1463,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1467,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1474,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1475,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1482
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - CheckStats
    - lock
    - absl::Uniform<int32_t>
    - stats
    - Alloc
    - ASSERT_EQ
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Free
    - RandomAllocSize
    - unlock
    - PrepTest
    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:1495,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1516,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1517,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1521,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1524,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1526,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1532,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1539
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - spans::size
    - Print
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - Length
    - spans::empty
    - ThreadManager::Stop
    - absl::Uniform<size_t>
    - std::vector::resize
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - absl::Bernoulli
    - absl::Uniform
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - spans::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: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1551,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1558,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1560,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1563,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1566,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1569,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1579,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1581,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1589,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1594,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1598,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1601,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1620,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1628
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - forwarder
    - std::thread::join
    - spans::size
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - std::thread
    - spans::empty
    - Length
    - absl::Uniform<size_t>
    - std::vector::resize
    - std::vector::push_back
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - std::atomic::store
    - absl::Bernoulli
    - absl::Uniform
    - std::ref
    - join
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - spans::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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:
    - absl_nonnull
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1643
    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:1648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - forwarder
    - first_page
    - donated
    - Range
    - Delete
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1672,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1678,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1679,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1681,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1682,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - absl::ZeroDuration
    - Length
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc_internal::max
    - 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: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    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:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1714,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    - SpanDeleter
    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:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    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:1743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1769,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1775,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1780,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1785,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1786,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1787,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1832
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1836,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1836,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1853,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1861,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1864,1
    - Dst: Length
      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:1868,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1868,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1875,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1878
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1883,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1884,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1898,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1899,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: GetReleaseStats
      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:1912,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1912,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1929,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1938,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1943,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1949,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1963
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - GetReleaseStats
    - EXPECT_EQ
    - EXPECT_FALSE
    - std::vector::empty
    - RegionsStats
    - Length
    - std::vector::pop_back
    - New
    - std::vector::push_back
    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: try_lock
      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:
    - reinterpret_cast<uintptr_t>
    - std::find
    - begin
    - pop_back
    - try_lock
    - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::ReleasePages
    - unlock
    - back
    - end
    - Range::p::start_addr
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: MemoryModifyStatus 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:
    - TC_CHECK
    - std::find
    - begin
    - pop_back
    - back
    - end
    linkageType: ''
    returnType: void
    signature: void RecordDeallocation(uintptr_t start_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:130,1
    - Dst: ExtraRegionFactory::ExtraRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:132,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:139,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::HugePageAwareAllocatorTest
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - GetParam
    - emplace
    - tcmalloc::MallocExtension::GetRegionFactory
    - ExtraRegionFactory::ExtraRegionFactory
    linkageType: ''
    returnType: void
    signature: void HugePageAwareAllocatorTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:144,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:145,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:154,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:155,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: ~HugePageAwareAllocatorTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stats
    - tcmalloc::MallocExtension::SetRegionFactory
    - Length
    - empty
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ~HugePageAwareAllocatorTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:165,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:186,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:187,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:188,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    - Span*::start_address
    - forwarder
    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:196,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: Span*::start_address
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:199,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:200,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:202,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:203,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:205,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - forwarder
    - Span*::first_page
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    - Span*::num_pages
    - Range
    - Span*::donated
    - Span*::start_address
    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:214,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:215,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:216,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - n
    - span_alloc_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::New
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - EXPECT_GE
    - TC_CHECK_NE
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - Span*::num_pages
    - insert
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorNew
    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:226,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:229,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:230,1
    - Dst: erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:232,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:233,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - span
    - objects_per_span
    argTypes:
    - Span*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Delete
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::AllocatorDelete
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::CheckStats
    - find
    - Span*::num_pages
    - end
    - erase
    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:242,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:243,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:244,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:246,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:251,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:252,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Uniform<int32_t>
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Length
    - absl::Uniform<size_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - enable_collapse
    - enable_release_free_swapped
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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,\n                             bool
      enable_release_free_swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - reason
    argTypes:
    - Length
    - PageReleaseReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:287,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:290,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - std::string::resize
    - Printer::SpaceRequired
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::Print
    - std::string::erase
    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:298,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:303,1
    - Dst: std::string::erase
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - std::string::resize
    - tcmalloc::tcmalloc_internal::HugePageAwareAllocatorTest::PrintInPbtxt
    - Printer::SpaceRequired
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string PrintInPbtxt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:329,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:331,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:335,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:336,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:339,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:340,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:341,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::Uniform<int32_t>
    - RandomAllocSize
    - SCOPED_TRACE
    - std::vector::size
    - New
    - std::vector::push_back
    - absl::StrFormat
    - Delete
    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:356,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:356,1
    - Dst: Length
      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: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:360,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:362,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:364,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:365,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:366,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:369,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: GetFreeBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:374,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - GetFreeBytes
    - std::min
    - Length
    - EXPECT_LE
    - New
    - std::vector::push_back
    - push_back
    - Delete
    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:383,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:387,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:391,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:392,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: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:397,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:398,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:400,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:401,1
    - Dst: absl::Barrier::Block
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:403,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:405,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 413
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - join
    - absl::Uniform<int32_t>
    - std::thread
    - absl::Barrier::Block
    - RandomAllocSize
    - std::vector::reserve
    - std::vector::size
    - New
    - std::vector::push_back
    - Delete
    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:416,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:417,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:420,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:421,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:422,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:425,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:426,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:427,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:430,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:433,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:434,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:438,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:442,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:442,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:446,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:449,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:450,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 454
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - forwarder
    - EXPECT_EQ
    - ReleasePages
    - absl::ZeroDuration
    - Length
    - New
    - push_back
    - Delete
    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:458,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:461,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:462,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:471,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:474,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:475,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - ReleasePages
    - Length
    - New
    - push_back
    - Delete
    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:488,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:502,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:503,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:504,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:505,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:506,1
    - Dst: region
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:507,1
    - Dst: HLFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:512,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:521,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:522,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:523,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:524,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:530,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:533,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:540,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:542,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:547,1
    - Dst: EXPECT_EQ
      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:549,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:551,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:554,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:555,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:566,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:567,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:570,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:571,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:572,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:573,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:574,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:578,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:583,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:584,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:588,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:590,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:591,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:598,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:600,1
    - Dst: UseHugeRegionMoreOften
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:608,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:612,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:613,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:615,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:616,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:617,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:622,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:623,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:625,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:626,1
    - Dst: LengthFromBytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:629,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:635,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:636,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:638,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 644
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - LengthFromBytes
    - EXPECT_GT
    - AbandonedPages
    - UseHugeRegionMoreOften
    - New
    - EXPECT_LT
    - EXPECT_EQ
    - Length
    - std::vector::emplace_back
    - DonatedHugePages
    - Length::in_bytes
    - HLFromBytes
    - RefreshStats
    - Delete
    - region
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - ASSERT_LT
    - info
    - NHugePages
    - 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:650,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:652,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:655,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:662,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:663,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:664,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:673,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:677,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:678,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:688,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:689,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:690,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:694,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:698,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:700,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:702,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:704,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:705,1
    - Dst: raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:706,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:710,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:712,1
    - Dst: EXPECT_EQ
      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:715,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:716,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:718,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:719,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:720,1
    - Dst: HasSubstr
      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
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:729,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:733,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: PrintInPbtxt
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 735
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - raw_num
    - absl::StrCat
    - EXPECT_EQ
    - info
    - Length
    - DonatedHugePages
    - AbandonedPages
    - EXPECT_THAT
    - NHugePages
    - PrintInPbtxt
    - New
    - Print
    - HasSubstr
    - RefreshStats
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, DonatedHugePages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:740,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:742,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:746,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:747,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:755,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:756,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:757,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:761,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:762,1
    - Dst: NHugePages
      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:763,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:765,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:771,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:772,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:774,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:777,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:778,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:779,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:784,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:785,1
    - Dst: std::swap
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:786,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:788,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:790,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:791,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:795,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:796,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:799,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:800,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:801,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:805,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:807,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:808,1
    - Dst: Length
      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:809,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:810,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:814,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:817,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:819,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:821,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:823,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:824,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:825,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:828,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:831,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:832,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 834
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - HugePageContaining
    - Length
    - DonatedHugePages
    - Span*::first_page
    - AbandonedPages
    - NHugePages
    - New
    - std::swap
    - RefreshStats
    - Span*::donated
    - Delete
    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:840,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:841,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:845,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:852,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:853,1
    - Dst: AbandonedPages
      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:858,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:859,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:860,1
    - Dst: EXPECT_TRUE
      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: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:865,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:866,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:874,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:875,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:879,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:886,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:888,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:889,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 891
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:896,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:897,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:902,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:909,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:910,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:911,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:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:917,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:918,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:921,1
    - Dst: RefreshStats
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:925,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:926,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:930,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:934,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:937,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:939,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:940,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:941,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:944,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:945,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:946,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:947,1
    - Dst: NHugePages
      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:948,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:948,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:949,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:952,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:954,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:955,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:956,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:959,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:960,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:961,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:962,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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:966,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 971
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(HugePageAwareAllocatorTest, TailDonation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:977,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:981,1
    - Dst: info
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:989,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:990,1
    - Dst: AbandonedPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:991,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:997,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:998,1
    - Dst: New
      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_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1009,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1011,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1014,1
    - Dst: Length
      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: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1019,1
    - Dst: RefreshStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1021,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1022,1
    - Dst: NHugePages
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - info
    - EXPECT_FALSE
    - Length
    - DonatedHugePages
    - AbandonedPages
    - NHugePages
    - New
    - RefreshStats
    - Span*::donated
    - Delete
    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:1037,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1038,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1042,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1045,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1050,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1052,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - Length
    - ::operator new
    - New
    - std::vector::push_back
    - Delete
    - 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:1062,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1074,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1075,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1076,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1077,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1079,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1080,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1086,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1093,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: cache
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1096,1
    - Dst: Length::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1097,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1103
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - stats
    - cache
    - Length
    - ASSERT_NE
    - Print
    - EXPECT_LE
    - Length::in_bytes
    - New
    - std::vector::push_back
    - Delete
    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:1107,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1112,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1113,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1117,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1118,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1121,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1125,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1126,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1130
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - Delete
    - Length
    - ASSERT_NE
    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:1133,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1140,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1141,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1144,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1145,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1147,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1148,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1151,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1152,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1154,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1155,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1157,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1158,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1166,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1169,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1170,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1171,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1172,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1173,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1174,1
    - Dst: DonatedHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1179,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    - Dst: NHugePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1182
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Length
    - ASSERT_NE
    - DonatedHugePages
    - NHugePages
    - New
    - Delete
    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:1188,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1191,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1193,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - std::vector::push_back
    - 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:1216,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1217,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1227
    functionName: tcmalloc::tcmalloc_internal::BytesInCore
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 7
    functionsReached:
    - mincore
    - std::min
    - TC_CHECK_EQ
    - static_cast<char*>
    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:1231,1
    - Dst: HugePage::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    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:1236,1
    - Dst: PageId::start_addr
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1236,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - PageId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 14
    functionsReached:
    - reinterpret_cast<char*>
    - PageId::start_addr
    - std::max<size_t>
    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:1247,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - HugePage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1253
    functionName: tcmalloc::tcmalloc_internal::Touch
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 15
    functionsReached:
    - HugePage::first_page
    - tcmalloc::tcmalloc_internal::Touch
    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:1257,1
    - Dst: Span*::last_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1258,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1259,1
    - Dst: HugePageContaining
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1261,1
    - Dst: tcmalloc::tcmalloc_internal::HugePageResident
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1268,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1270,1
    - Dst: tcmalloc::tcmalloc_internal::Touch
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: tcmalloc::tcmalloc_internal::TouchTHP
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - HugePageContaining
    - tcmalloc::tcmalloc_internal::HugePageResident
    - Span*::first_page
    - Span*::last_page
    - 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: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    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:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    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:1302,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1303,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - align
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 8
    functionsReached:
    - TC_CHECK_LT
    - static_cast<StaticForwarder*>
    - tcmalloc::tcmalloc_internal::StatTest::Forwarder::AllocatePages
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    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:1330,1
    - Dst: HookedAllocator::HookedAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    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: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    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:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1341
    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:1347,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1349,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1351,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1352,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    - Dst: absl::LogUniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rng
    argTypes:
    - absl::BitGenRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: tcmalloc::tcmalloc_internal::StatTest::RandomAllocSize
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - absl::Bernoulli
    - absl::Uniform<int32_t>
    - Length
    - absl::LogUniform<int32_t>
    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:1360,1
    - Dst: TouchTHP
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1361,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1362,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - span_info
    argTypes:
    - Length
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: tcmalloc::tcmalloc_internal::StatTest::Alloc
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - New
    - TouchTHP
    - TC_CHECK_LE
    - Span*::num_pages
    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:1371,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1375,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1378,1
    - Dst: Span*::donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1379,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1381,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - span_info
    argTypes:
    - Span*
    - SpanAllocInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc::tcmalloc_internal::StatTest::Free
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - forwarder
    - Span*::first_page
    - Span*::num_pages
    - Range
    - Span*::donated
    - Delete
    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:1388,1
    - Dst: tcmalloc::tcmalloc_internal::StatTest::Stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1389,1
    - Dst: GetSmallSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1394,1
    - Dst: GetLargeSpanStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1395,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1399,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1400,1
    - Dst: auto::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: auto::raw_num
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1402,1
    - Dst: LargeSpanStats::normal_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1404,1
    - Dst: LargeSpanStats::returned_pages::in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1405,1
    - Dst: in_bytes
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1414,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1416
    functionName: tcmalloc::tcmalloc_internal::StatTest::CheckStats
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - GetLargeSpanStats
    - in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::Stats
    - ASSERT_EQ
    - auto::in_bytes
    - Length
    - LargeSpanStats::normal_pages::in_bytes
    - GetSmallSpanStats
    - auto::raw_num
    - LargeSpanStats::returned_pages::in_bytes
    - tcmalloc::tcmalloc_internal::StatTest::GetSystemBytes
    linkageType: ''
    returnType: void
    signature: void CheckStats()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrepTest
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1433,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1439,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1440,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1443,1
    - Dst: absl::Uniform<int32_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1448,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1450,1
    - Dst: RandomAllocSize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1451,1
    - Dst: Alloc
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1452,1
    - Dst: absl::Bernoulli
      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:1455,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1457,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1463,1
    - Dst: Free
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1467,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1469,1
    - Dst: CheckStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1473,1
    - Dst: lock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1474,1
    - Dst: stats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1475,1
    - Dst: unlock
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1476,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1482
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - CheckStats
    - lock
    - absl::Uniform<int32_t>
    - stats
    - Alloc
    - ASSERT_EQ
    - absl::Bernoulli
    - absl::LogUniform<int32_t>
    - Free
    - RandomAllocSize
    - unlock
    - PrepTest
    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:1495,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1497,1
    - Dst: ReleasePages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1501,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: Print
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1505,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1508,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1513,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1515,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1516,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1517,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1519,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1521,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1524,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1526,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1530,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1532,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1539
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - ThreadManager::Start
    - benchmark::DoNotOptimize
    - spans::size
    - Print
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - Length
    - spans::empty
    - ThreadManager::Stop
    - absl::Uniform<size_t>
    - std::vector::resize
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - absl::Bernoulli
    - absl::Uniform
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ReleasePages
    - spans::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: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1551,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1552,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1553,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1558,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1559,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1560,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1563,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1566,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1569,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1572,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1575,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1579,1
    - Dst: TreatHugepageTrackers
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1581,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1589,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: spans::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1590,1
    - Dst: AllocatorNew
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1591,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1593,1
    - Dst: spans::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1594,1
    - Dst: absl::Uniform<size_t>
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::size
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1596,1
    - Dst: spans::back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1598,1
    - Dst: spans::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1601,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1603,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1610,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::thread
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: std::ref
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1613,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1615,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1616,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1618,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1620,1
    - Dst: AllocatorDelete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1628
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - AllocatorDelete
    - forwarder
    - std::thread::join
    - spans::size
    - spans::pop_back
    - absl::LogUniform
    - TreatHugepageTrackers
    - std::thread
    - spans::empty
    - Length
    - absl::Uniform<size_t>
    - std::vector::resize
    - std::vector::push_back
    - absl::SleepFor
    - AllocatorNew
    - TC_CHECK_NE
    - std::atomic::store
    - absl::Bernoulli
    - absl::Uniform
    - std::ref
    - join
    - spans::push_back
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - load
    - spans::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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:
    - absl_nonnull
    argTypes:
    - FakeHugePageAwareAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1643
    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:1648,1
    - Dst: Range
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: first_page
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: num_pages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1652,1
    - Dst: donated
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1653,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1655,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: tcmalloc::tcmalloc_internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - num_pages
    - forwarder
    - first_page
    - donated
    - Range
    - Delete
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(pageheap_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1672,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1675,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1678,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1679,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1681,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1682,1
    - Dst: forwarder
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1683,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1686,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1689,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1692
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - data
    - GetReleaseStats
    - tcmalloc::MallocExtension::SetRegionFactory
    - forwarder
    - ASSERT_EQ
    - absl::ZeroDuration
    - Length
    - FakeHugePageAwareAllocator::FakeHugePageAwareAllocator
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1695,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1696,1
    - Dst: tcmalloc::MallocExtension::SetRegionFactory
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1702
    functionName: ~GetReleaseStatsTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPagesBreakingHugepages
    - tcmalloc::MallocExtension::SetRegionFactory
    - tcmalloc_internal::max
    - 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: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    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:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1714,1
    - Dst: SpanDeleter
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    - Dst: allocator
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1716
    functionName: tcmalloc::tcmalloc_internal::GetReleaseStatsTest::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - allocator
    - SpanDeleter
    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:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    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:1743,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1744,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1745,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1747,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1750,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1751,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1754,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1768,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1769,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1771,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1772,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1774,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1775,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1777,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1780,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1781,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1783,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1785,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1786,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1787,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1790,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1796,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1797,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1798,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1801,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1808,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1809,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1812,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1820,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1821,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1832
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1836,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1836,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1837,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1838,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1841,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1844,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1845,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1847,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1850,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1851,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1853,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1854,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1857,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1858,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1861,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1862,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1864,1
    - Dst: Length
      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:1868,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1868,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1871,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1872,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1875,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1878
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - ReleaseAtLeastNPagesBreakingHugepages
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1882,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1882,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1883,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1884,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1886,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - Length
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1898,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1899,1
    - Dst: SpanUniquePtr::reset
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1900,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1906,1
    - Dst: GetReleaseStats
      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:1912,1
    - Dst: ReleaseAtLeastNPages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1912,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - ReleaseAtLeastNPages
    - GetReleaseStats
    - EXPECT_EQ
    - SpanUniquePtr::reset
    - New
    - ASSERT_TRUE
    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:1929,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1929,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1933,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::empty
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1936,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1938,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1939,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1940,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1941,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1943,1
    - Dst: std::vector::pop_back
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1944,1
    - Dst: RegionsStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1949,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1952,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1953,1
    - Dst: ReleaseAtLeastNPagesBreakingHugepages
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1955,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1957,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: GetReleaseStats
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1958,1
    - Dst: Length
      Src: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc:1961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1963
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - ReleaseAtLeastNPagesBreakingHugepages
    - GetReleaseStats
    - EXPECT_EQ
    - EXPECT_FALSE
    - std::vector::empty
    - RegionsStats
    - Length
    - std::vector::pop_back
    - New
    - std::vector::push_back
    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:45,1
    - Dst: linked_sample_allocator
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:64,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:71,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:87,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:100,1
    - Dst: func
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 117
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - AllocatedBytes
    - func
    - static_cast<hot_cold_t>
    - linked_sample_allocator
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    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:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    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:64,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:71,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:87,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - sample_weight
    - ' t'
    argTypes:
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::StackTraceTable::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - linked_sample_allocator
    - memcpy
    - AllocatedBytes
    - static_cast<hot_cold_t>
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    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:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    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:64,1
    - Dst: AllocatedBytes
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:71,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:87,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/stack_trace_table.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - sample_weight
    - ' t'
    argTypes:
    - double
    - StackTrace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: tcmalloc_internal::StackTraceTable::AddTrace
    functionSourceFile: /src/tcmalloc/tcmalloc/stack_trace_table.cc
    functionUses: 0
    functionsReached:
    - linked_sample_allocator
    - memcpy
    - AllocatedBytes
    - static_cast<hot_cold_t>
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::FunctionRef<void(const Profile::Sample&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    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:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:60,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:68,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:77,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:78,1
    - Dst: InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:80,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:82,1
    - Dst: GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:85,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:93,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:96,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:113,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:115,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:116,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:117,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:118,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:120,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:136,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:137,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:138,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:141,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:154,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:161,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:169,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:171,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:174,1
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:194,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:195,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:199,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:204,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:206,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:211,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:213,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:222,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:225,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:229,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:232,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:233,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:234,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:235,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:236,1
    - Dst: BENCHMARK_TEMPLATE
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:237,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 241
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - freelist
    - GetStats
    - BENCHMARK_TEMPLATE
    - thread_index
    - Cache
    - benchmark::DoNotOptimize
    - RemoveRange
    - Env::transfer_cache
    - std::optional::transfer_cache
    - PauseTiming
    - std::optional::emplace
    - absl::Bernoulli
    - absl::Uniform
    - Env::Insert
    - static_cast<double>
    - Env::Remove
    - ResumeTiming
    - CrossThreadState::CrossThreadState
    - std::optional::Insert
    - InsertRange
    - std::optional::central_freelist
    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:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:60,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:68,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: tcmalloc_internal::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:77,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:78,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:80,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:82,1
    - Dst: tcmalloc_internal::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:85,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:93,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::BM_CrossThread
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetStats
    - freelist
    - CrossThreadState::CrossThreadState
    - tcmalloc_internal::RemoveRange
    - thread_index
    - Cache
    - benchmark::DoNotOptimize
    - tcmalloc_internal::InsertRange
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_CrossThread(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    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:113,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:115,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:116,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:117,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:118,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::BM_InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - PauseTiming
    - benchmark::DoNotOptimize
    - std::optional::central_freelist
    - std::optional::transfer_cache
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void BM_InsertRange(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:136,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:137,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:138,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::BM_RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - std::optional::Insert
    - PauseTiming
    - benchmark::DoNotOptimize
    - std::optional::transfer_cache
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void BM_RemoveRange(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:154,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:161,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:169,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:171,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::BM_RealisticBatchNonBatchMutations
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - absl::Uniform
    - Env::Insert
    - PauseTiming
    - Env::transfer_cache
    - static_cast<double>
    - Env::Remove
    linkageType: ''
    returnType: void
    signature: void BM_RealisticBatchNonBatchMutations(benchmark::State& state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:194,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:195,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:199,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:204,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:206,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:211,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:213,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:222,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:225,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 230
    functionName: tcmalloc_internal::BM_RealisticHitRate
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - absl::Bernoulli
    - absl::Uniform
    - Env::Insert
    - PauseTiming
    - Env::transfer_cache
    - static_cast<double>
    - Env::Remove
    linkageType: ''
    returnType: void
    signature: void BM_RealisticHitRate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:60,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:68,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: tcmalloc_internal::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:77,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:78,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:80,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:82,1
    - Dst: tcmalloc_internal::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:85,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:93,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::BM_CrossThread
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetStats
    - freelist
    - CrossThreadState::CrossThreadState
    - tcmalloc_internal::RemoveRange
    - thread_index
    - Cache
    - benchmark::DoNotOptimize
    - tcmalloc_internal::InsertRange
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_CrossThread(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    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:113,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:115,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:116,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:117,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:118,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::BM_InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - PauseTiming
    - benchmark::DoNotOptimize
    - std::optional::central_freelist
    - std::optional::transfer_cache
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void BM_InsertRange(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:136,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:137,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:138,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::BM_RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - std::optional::Insert
    - PauseTiming
    - benchmark::DoNotOptimize
    - std::optional::transfer_cache
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void BM_RemoveRange(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:154,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:161,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:169,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:171,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::BM_RealisticBatchNonBatchMutations
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - absl::Uniform
    - Env::Insert
    - PauseTiming
    - Env::transfer_cache
    - static_cast<double>
    - Env::Remove
    linkageType: ''
    returnType: void
    signature: void BM_RealisticBatchNonBatchMutations(benchmark::State& state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:194,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:195,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:199,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:204,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:206,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:211,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:213,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:222,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:225,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 230
    functionName: tcmalloc_internal::BM_RealisticHitRate
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - absl::Bernoulli
    - absl::Uniform
    - Env::Insert
    - PauseTiming
    - Env::transfer_cache
    - static_cast<double>
    - Env::Remove
    linkageType: ''
    returnType: void
    signature: void BM_RealisticHitRate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:60,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:68,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: tcmalloc_internal::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:77,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:78,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:80,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:82,1
    - Dst: tcmalloc_internal::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:85,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:93,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::BM_CrossThread
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetStats
    - freelist
    - CrossThreadState::CrossThreadState
    - tcmalloc_internal::RemoveRange
    - thread_index
    - Cache
    - benchmark::DoNotOptimize
    - tcmalloc_internal::InsertRange
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_CrossThread(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    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:113,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:115,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:116,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:117,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:118,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::BM_InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - PauseTiming
    - benchmark::DoNotOptimize
    - std::optional::central_freelist
    - std::optional::transfer_cache
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void BM_InsertRange(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:136,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:137,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:138,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::BM_RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - std::optional::Insert
    - PauseTiming
    - benchmark::DoNotOptimize
    - std::optional::transfer_cache
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void BM_RemoveRange(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:154,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:161,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:169,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:171,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::BM_RealisticBatchNonBatchMutations
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - absl::Uniform
    - Env::Insert
    - PauseTiming
    - Env::transfer_cache
    - static_cast<double>
    - Env::Remove
    linkageType: ''
    returnType: void
    signature: void BM_RealisticBatchNonBatchMutations(benchmark::State& state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:194,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:195,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:199,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:204,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:206,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:211,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:213,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:222,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:225,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 230
    functionName: tcmalloc_internal::BM_RealisticHitRate
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - absl::Bernoulli
    - absl::Uniform
    - Env::Insert
    - PauseTiming
    - Env::transfer_cache
    - static_cast<double>
    - Env::Remove
    linkageType: ''
    returnType: void
    signature: void BM_RealisticHitRate(benchmark::State& state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:60,1
    - Dst: CrossThreadState::CrossThreadState
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:61,1
    - Dst: freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:67,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:68,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:73,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:76,1
    - Dst: tcmalloc_internal::RemoveRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:77,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:78,1
    - Dst: tcmalloc_internal::InsertRange
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:80,1
    - Dst: thread_index
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:82,1
    - Dst: tcmalloc_internal::GetStats
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:85,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:93,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 101
    functionName: tcmalloc_internal::BM_CrossThread
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::GetStats
    - freelist
    - CrossThreadState::CrossThreadState
    - tcmalloc_internal::RemoveRange
    - thread_index
    - Cache
    - benchmark::DoNotOptimize
    - tcmalloc_internal::InsertRange
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void BM_CrossThread(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:51,1
    - Dst: Cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    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:113,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:114,1
    - Dst: std::optional::central_freelist
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:115,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:116,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:117,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:118,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: tcmalloc_internal::BM_InsertRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - PauseTiming
    - benchmark::DoNotOptimize
    - std::optional::central_freelist
    - std::optional::transfer_cache
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void BM_InsertRange(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:134,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:135,1
    - Dst: std::optional::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:136,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:137,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:138,1
    - Dst: std::optional::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:140,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: tcmalloc_internal::BM_RemoveRange
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - std::optional::Insert
    - PauseTiming
    - benchmark::DoNotOptimize
    - std::optional::transfer_cache
    - std::optional::emplace
    linkageType: ''
    returnType: void
    signature: void BM_RemoveRange(benchmark::State& state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:153,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:154,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:155,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:159,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:161,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:163,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:165,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:169,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:171,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: tcmalloc_internal::BM_RealisticBatchNonBatchMutations
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - absl::Uniform
    - Env::Insert
    - PauseTiming
    - Env::transfer_cache
    - static_cast<double>
    - Env::Remove
    linkageType: ''
    returnType: void
    signature: void BM_RealisticBatchNonBatchMutations(benchmark::State& state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PauseTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:194,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:195,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:198,1
    - Dst: ResumeTiming
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:199,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:204,1
    - Dst: Env::Insert
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:206,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:211,1
    - Dst: Env::Remove
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:213,1
    - Dst: Env::transfer_cache
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:222,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:225,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 230
    functionName: tcmalloc_internal::BM_RealisticHitRate
    functionSourceFile: /src/tcmalloc/tcmalloc/transfer_cache_benchmark.cc
    functionUses: 0
    functionsReached:
    - ResumeTiming
    - absl::Bernoulli
    - absl::Uniform
    - Env::Insert
    - PauseTiming
    - Env::transfer_cache
    - static_cast<double>
    - Env::Remove
    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:
    - EXPECT_DEATH
    - tcmalloc_internal::max
    - ::operator new[]
    - ::operator new
    - GTEST_SKIP
    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:
    - ::operator new[]
    - ::operator new
    - tcmalloc_internal::max
    - EXPECT_EQ
    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:
    - static_cast<__hot_cold_t>
    - tcmalloc::sized_delete
    - memset
    - ::operator delete
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - ::operator new
    - benchmark::DoNotOptimize
    - std::vector::reserve
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - tcmalloc::sized_delete
    - memset
    - ::operator delete
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - ::operator new
    - benchmark::DoNotOptimize
    - std::vector::reserve
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - tcmalloc::sized_array_delete
    - std::vector::emplace_back
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - absl::Uniform<uint8_t>
    - ::operator delete[]
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - tcmalloc::sized_array_delete
    - std::vector::emplace_back
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - absl::Uniform<uint8_t>
    - ::operator delete[]
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - EXPECT_EQ
    - ::operator delete
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - ::operator new
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc::sized_aligned_delete
    - static_cast<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - EXPECT_EQ
    - ::operator delete
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - ::operator new
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc::sized_aligned_delete
    - static_cast<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - tcmalloc::sized_array_aligned_delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - static_cast<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:
    - static_cast<__hot_cold_t>
    - memset
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - tcmalloc::sized_array_aligned_delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - static_cast<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:
    - EXPECT_DEATH
    - tcmalloc_internal::max
    - ::operator new[]
    - ::operator new
    - GTEST_SKIP
    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:
    - ::operator new[]
    - ::operator new
    - tcmalloc_internal::max
    - EXPECT_EQ
    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:
    - static_cast<__hot_cold_t>
    - tcmalloc::sized_delete
    - memset
    - ::operator delete
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - ::operator new
    - benchmark::DoNotOptimize
    - std::vector::reserve
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - tcmalloc::sized_delete
    - memset
    - ::operator delete
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - ::operator new
    - benchmark::DoNotOptimize
    - std::vector::reserve
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - tcmalloc::sized_array_delete
    - std::vector::emplace_back
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - absl::Uniform<uint8_t>
    - ::operator delete[]
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - tcmalloc::sized_array_delete
    - std::vector::emplace_back
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - absl::Uniform<uint8_t>
    - ::operator delete[]
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - EXPECT_EQ
    - ::operator delete
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - ::operator new
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc::sized_aligned_delete
    - static_cast<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - EXPECT_EQ
    - ::operator delete
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - ::operator new
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc::sized_aligned_delete
    - static_cast<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - tcmalloc::sized_array_aligned_delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - static_cast<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:
    - static_cast<__hot_cold_t>
    - memset
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - tcmalloc::sized_array_aligned_delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - static_cast<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:
    - EXPECT_DEATH
    - tcmalloc_internal::max
    - ::operator new[]
    - ::operator new
    - GTEST_SKIP
    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:
    - ::operator new[]
    - ::operator new
    - tcmalloc_internal::max
    - EXPECT_EQ
    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:
    - static_cast<__hot_cold_t>
    - tcmalloc::sized_delete
    - memset
    - ::operator delete
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - ::operator new
    - benchmark::DoNotOptimize
    - std::vector::reserve
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - tcmalloc::sized_delete
    - memset
    - ::operator delete
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - ::operator new
    - benchmark::DoNotOptimize
    - std::vector::reserve
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - tcmalloc::sized_array_delete
    - std::vector::emplace_back
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - absl::Uniform<uint8_t>
    - ::operator delete[]
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - tcmalloc::sized_array_delete
    - std::vector::emplace_back
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - absl::Uniform<uint8_t>
    - ::operator delete[]
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - EXPECT_EQ
    - ::operator delete
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - ::operator new
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc::sized_aligned_delete
    - static_cast<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - EXPECT_EQ
    - ::operator delete
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - ::operator new
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc::sized_aligned_delete
    - static_cast<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - tcmalloc::sized_array_aligned_delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - static_cast<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:
    - static_cast<__hot_cold_t>
    - memset
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - tcmalloc::sized_array_aligned_delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - static_cast<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:
    - EXPECT_DEATH
    - tcmalloc_internal::max
    - ::operator new[]
    - ::operator new
    - GTEST_SKIP
    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:
    - ::operator new[]
    - ::operator new
    - tcmalloc_internal::max
    - EXPECT_EQ
    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:
    - static_cast<__hot_cold_t>
    - tcmalloc::sized_delete
    - memset
    - ::operator delete
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - ::operator new
    - benchmark::DoNotOptimize
    - std::vector::reserve
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - tcmalloc::sized_delete
    - memset
    - ::operator delete
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - ::operator new
    - benchmark::DoNotOptimize
    - std::vector::reserve
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - tcmalloc::sized_array_delete
    - std::vector::emplace_back
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - absl::Uniform<uint8_t>
    - ::operator delete[]
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - absl::Bernoulli
    - ASSERT_NE
    - static_cast<hot_cold_t>
    - tcmalloc::sized_array_delete
    - std::vector::emplace_back
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - absl::Uniform<uint8_t>
    - ::operator delete[]
    - absl::LogUniform<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - EXPECT_EQ
    - ::operator delete
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - ::operator new
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc::sized_aligned_delete
    - static_cast<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - EXPECT_EQ
    - ::operator delete
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - ::operator new
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - tcmalloc::sized_aligned_delete
    - static_cast<size_t>
    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:
    - static_cast<__hot_cold_t>
    - memset
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - tcmalloc::sized_array_aligned_delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - static_cast<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:
    - static_cast<__hot_cold_t>
    - memset
    - ::operator new[]
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Uniform<size_t>
    - tcmalloc_internal::GetPageSize
    - absl::bit_width
    - absl::Bernoulli
    - tcmalloc::sized_array_aligned_delete
    - static_cast<hot_cold_t>
    - ASSERT_NE
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - std::max
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(HotColdNew, OperatorNewArrayAlignedNothrow)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::MarkThreadIdle
      Src: /src/tcmalloc/tcmalloc/background.cc:36,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/background.cc:38,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/background.cc:58,1
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/background.cc:60,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/background.cc:100,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/background.cc:106,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/background.cc:111,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/background.cc:111,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:116,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:121,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:126,1
    - Dst: tcmalloc_internal::Parameters::resize_size_class_max_capacity
      Src: /src/tcmalloc/tcmalloc/background.cc:130,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:133,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
      Src: /src/tcmalloc/tcmalloc/background.cc:139,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:141,1
    - Dst: sharded_transfer_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:146,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:152,1
    - Dst: transfer_cache
      Src: /src/tcmalloc/tcmalloc/background.cc:158,1
    - Dst: page_allocator
      Src: /src/tcmalloc/tcmalloc/background.cc:164,1
    - Dst: tcmalloc_internal::Parameters::usermode_hugepage_collapse
      Src: /src/tcmalloc/tcmalloc/background.cc:165,1
    - Dst: tcmalloc_internal::Parameters::release_free_swapped
      Src: /src/tcmalloc/tcmalloc/background.cc:166,1
    - Dst: tcmalloc_internal::Parameters::span_lifetime_tracking
      Src: /src/tcmalloc/tcmalloc/background.cc:170,1
    - Dst: central_freelist
      Src: /src/tcmalloc/tcmalloc/background.cc:175,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/background.cc:183,1
    - Dst: tcmalloc_internal::Parameters::background_release_rate
      Src: /src/tcmalloc/tcmalloc/background.cc:183,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/background.cc:184,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/background.cc:185,1
    - Dst: tcmalloc_internal::Parameters::release_pages_from_huge_region
      Src: /src/tcmalloc/tcmalloc/background.cc:191,1
    - Dst: tcmalloc::tcmalloc_internal::ConstantRatePageAllocatorReleaser::Release
      Src: /src/tcmalloc/tcmalloc/background.cc:192,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/background.cc:198,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 200
    functionName: MallocExtension_Internal_ProcessBackgroundActions
    functionSourceFile: /src/tcmalloc/tcmalloc/background.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Parameters::background_release_rate
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::IsFast
    - sharded_transfer_cache
    - tcmalloc_internal::Parameters::span_lifetime_tracking
    - tcmalloc_internal::Parameters::release_pages_from_huge_region
    - absl::Now
    - absl::SleepFor
    - tcmalloc_internal::Parameters::per_cpu_caches_dynamic_slab_enabled
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    - absl::ToDoubleSeconds
    - cpu_cache
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc_internal::Parameters::usermode_hugepage_collapse
    - tcmalloc_internal::Parameters::resize_size_class_max_capacity
    - transfer_cache
    - central_freelist
    - TC_CHECK
    - tcmalloc::tcmalloc_internal::ConstantRatePageAllocatorReleaser::Release
    - page_allocator
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - static_cast<size_t>
    - tcmalloc_internal::Parameters::release_free_swapped
    linkageType: ''
    returnType: void
    signature: void MallocExtension_Internal_ProcessBackgroundActions()
  - 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::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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    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,\n                             central_freelist_internal::PriorityListLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:86,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:87,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:89,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    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: 0
    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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    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,\n                             central_freelist_internal::PriorityListLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:86,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:87,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:89,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    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: 0
    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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    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,\n                             central_freelist_internal::PriorityListLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:86,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:87,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:89,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    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: 0
    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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    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,\n                             central_freelist_internal::PriorityListLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:86,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:87,1
    - Dst: ON_CALL
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:89,1
    - Dst: static_cast<FakeCentralFreeList*>
      Src: /src/tcmalloc/tcmalloc/mock_central_freelist.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    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:
    - absl::UnimplementedError
    - MallocTracingExtension_Internal_GetAllocatedAddressRanges
    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:
    - absl::UnimplementedError
    - MallocTracingExtension_Internal_GetAllocatedAddressRanges
    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:
    - absl::UnimplementedError
    - MallocTracingExtension_Internal_GetAllocatedAddressRanges
    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:
    - absl::UnimplementedError
    - MallocTracingExtension_Internal_GetAllocatedAddressRanges
    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:
    - auto::range
    - std::vector::push_back
    - first
    - auto::next
    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:
    - tcmalloc_internal::Make
    - hl
    - testing::ElementsAre
    - hp
    - Insert
    - EXPECT_THAT
    - Contents
    - Join
    - Check
    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:
    - auto::range
    - std::vector::push_back
    - first
    - auto::next
    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:
    - tcmalloc_internal::Make
    - hl
    - testing::ElementsAre
    - hp
    - Insert
    - EXPECT_THAT
    - Contents
    - Join
    - Check
    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:
    - auto::range
    - std::vector::push_back
    - first
    - auto::next
    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:
    - tcmalloc_internal::Make
    - hl
    - testing::ElementsAre
    - hp
    - Insert
    - EXPECT_THAT
    - Contents
    - Join
    - Check
    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:
    - auto::range
    - std::vector::push_back
    - first
    - auto::next
    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:
    - tcmalloc_internal::Make
    - hl
    - testing::ElementsAre
    - hp
    - Insert
    - EXPECT_THAT
    - Contents
    - Join
    - Check
    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:
    - auto::range
    - std::vector::push_back
    - first
    - auto::next
    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:
    - tcmalloc_internal::Make
    - hl
    - testing::ElementsAre
    - hp
    - Insert
    - EXPECT_THAT
    - Contents
    - Join
    - Check
    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:
    - auto::range
    - std::vector::push_back
    - first
    - auto::next
    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:
    - tcmalloc_internal::Make
    - hl
    - testing::ElementsAre
    - hp
    - Insert
    - EXPECT_THAT
    - Contents
    - Join
    - Check
    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:
    - auto::range
    - std::vector::push_back
    - first
    - auto::next
    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:
    - tcmalloc_internal::Make
    - hl
    - testing::ElementsAre
    - hp
    - Insert
    - EXPECT_THAT
    - Contents
    - Join
    - Check
    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:
    - auto::range
    - std::vector::push_back
    - first
    - auto::next
    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:
    - tcmalloc_internal::Make
    - hl
    - testing::ElementsAre
    - hp
    - Insert
    - EXPECT_THAT
    - Contents
    - Join
    - Check
    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:
    - TC_CHECK_LE
    - ReadOne
    - ::lseek
    - auto::has_value
    - auto::value
    - signal_safe_close
    - reinterpret_cast<char*>
    - Seek
    - TC_LOG
    - TC_CHECK_GE
    - signal_safe_read
    - PageSwapped
    - ReadMany
    - Update
    - Bitmap::SetBit
    - signal_safe_open
    - PagePresent
    - reinterpret_cast<uintptr_t>
    - std::min<int64_t>
    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:
    - TC_CHECK_LE
    - TC_CHECK_GE
    - signal_safe_open
    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:
    - TC_CHECK_LE
    - TC_CHECK_GE
    - signal_safe_open
    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:
    - reinterpret_cast<char*>
    - signal_safe_read
    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
    - reinterpret_cast<char*>
    - signal_safe_read
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::ResidencyPageMap::ReadOne
    - auto::has_value
    - tcmalloc_internal::ResidencyPageMap::Seek
    - auto::value
    - tcmalloc_internal::ResidencyPageMap::ReadMany
    - Update
    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:
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - tcmalloc_internal::ResidencyPageMap::Seek
    - PageSwapped
    - reinterpret_cast<char*>
    - Bitmap::SetBit
    - TC_LOG
    - PagePresent
    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:
    - TC_CHECK_LE
    - TC_CHECK_GE
    - signal_safe_open
    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:
    - TC_CHECK_LE
    - TC_CHECK_GE
    - signal_safe_open
    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:
    - reinterpret_cast<char*>
    - signal_safe_read
    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
    - reinterpret_cast<char*>
    - signal_safe_read
    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:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::ResidencyPageMap::ReadOne
    - auto::has_value
    - tcmalloc_internal::ResidencyPageMap::Seek
    - auto::value
    - tcmalloc_internal::ResidencyPageMap::ReadMany
    - Update
    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:
    - reinterpret_cast<uintptr_t>
    - signal_safe_read
    - tcmalloc_internal::ResidencyPageMap::Seek
    - PageSwapped
    - reinterpret_cast<char*>
    - Bitmap::SetBit
    - TC_LOG
    - PagePresent
    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:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 175
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:52,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:54,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:58,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:62,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:63,1
    - Dst: absl::MakeSpan
      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:75,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:80,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:85,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:90,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:95,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:100,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:105,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:121,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:123,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:123,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:124,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:124,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:133,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:133,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:134,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:134,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:148,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:148,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:149,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:149,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:160,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:160,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:161,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:161,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:177,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:179,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:179,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:180,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:180,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:188,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:188,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:189,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:189,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:205,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:205,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:206,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:206,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:211,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:211,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:212,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:212,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:229,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:229,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:230,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:230,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:235,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:235,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:236,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 256
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - size
    - data
    - absl::MakeSpan
    - memcpy
    - std::min<size_t>
    - has_value
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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: 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: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    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: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::GwpAsanState::ptr
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * ptr() const
  - 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_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:52,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:54,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    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:62,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    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: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_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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    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:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    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:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    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:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::GwpAsanState::actual_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: std::optional<std::align_val_t>
    signature: std::optional<std::align_val_t> actual_alignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::GwpAsanState::expected_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: std::optional<std::align_val_t>
    signature: std::optional<std::align_val_t> expected_alignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::GwpAsanState::alloc_type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: Profile::Sample::AllocationType
    signature: Profile::Sample::AllocationType alloc_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: tcmalloc_internal::GwpAsanState::dealloc_type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: Profile::Sample::AllocationType
    signature: Profile::Sample::AllocationType dealloc_type() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:121,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:123,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:123,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:124,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:124,1
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:133,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:133,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:134,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 7
    argNames:
    - ptr
    - provided_min
    - provided_max
    - minimum
    - maximum
    - allocation_stack
    - deallocation_stack
    argTypes:
    - void*
    - 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: 140
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::GwpAsanState::RecordMismatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - memcpy
    - std::optional<absl::Span<void* const>>::data
    - std::min<size_t>
    - std::optional<absl::Span<void* const>>::has_value
    - std::optional<absl::Span<void* const>>::size
    linkageType: ''
    returnType: void
    signature: "void RecordMismatch(\n      const void* ptr, size_t provided_min,
      size_t provided_max, size_t minimum,\n      size_t maximum, 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:148,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:148,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:149,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - deallocation_stack
    argTypes:
    - void*
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::GwpAsanState::RecordDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::Span<void* const>::data
    - std::min<size_t>
    - memcpy
    - absl::Span<void* const>::size
    linkageType: ''
    returnType: void
    signature: "void RecordDoubleFree(const void* ptr,\n                        absl::Span<void*
      const> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:160,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:160,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:161,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - deallocation_stack
    argTypes:
    - void*
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::GwpAsanState::RecordInvalidFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::Span<void* const>::data
    - std::min<size_t>
    - memcpy
    - absl::Span<void* const>::size
    linkageType: ''
    returnType: void
    signature: "void RecordInvalidFree(const void* ptr,\n                         absl::Span<void*
      const> deallocation_stack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:177,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:179,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:179,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:180,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:180,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:188,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:188,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:189,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ptr
    - actual_alignment
    - expected_alignment
    - allocation_stack
    - deallocation_stack
    argTypes:
    - void*
    - std::optional<std::align_val_t>
    - std::optional<std::align_val_t>
    - std::optional<absl::Span<void* const>>
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::GwpAsanState::RecordInvalidFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - memcpy
    - absl::Span<void* const>::size
    - std::optional<absl::Span<void* const>>::data
    - std::min<size_t>
    - absl::Span<void* const>::data
    - std::optional<absl::Span<void* const>>::has_value
    - std::optional<absl::Span<void* const>>::size
    linkageType: ''
    returnType: void
    signature: "void RecordInvalidFree(\n      const void* ptr, std::optional<std::align_val_t>
      actual_alignment,\n      std::optional<std::align_val_t> expected_alignment,\n
      \     std::optional<absl::Span<void* const>> allocation_stack,\n      absl::Span<void*
      const> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:205,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:205,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:206,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:206,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:211,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:211,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:212,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ptr
    - actual_alignment
    - expected_alignment
    - allocation_stack
    - deallocation_stack
    argTypes:
    - void*
    - std::align_val_t
    - std::align_val_t
    - absl::Span<void* const>
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: tcmalloc_internal::GwpAsanState::RecordInvalidFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::Span<void* const>::data
    - std::min<size_t>
    - memcpy
    - absl::Span<void* const>::size
    linkageType: ''
    returnType: void
    signature: "void RecordInvalidFree(const void* ptr, std::align_val_t actual_alignment,\n
      \                        std::align_val_t expected_alignment,\n                         absl::Span<void*
      const> allocation_stack,\n                         absl::Span<void* const> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:229,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:229,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:230,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:230,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:235,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:235,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:236,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ptr
    - alloc_type
    - dealloc_type
    - allocation_stack
    - deallocation_stack
    argTypes:
    - void*
    - Profile::Sample::AllocationType
    - Profile::Sample::AllocationType
    - absl::Span<void* const>
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::GwpAsanState::RecordMismatchedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::Span<void* const>::data
    - std::min<size_t>
    - memcpy
    - absl::Span<void* const>::size
    linkageType: ''
    returnType: void
    signature: "void RecordMismatchedFree(const void* ptr,\n                            Profile::Sample::AllocationType
      alloc_type,\n                            Profile::Sample::AllocationType dealloc_type,\n
      \                           absl::Span<void* const> allocation_stack,\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: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    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: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    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: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tcmalloc_internal::GwpAsanState::ptr
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * ptr() const
  - 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_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:52,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:54,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    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:62,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:63,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    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: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_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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    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:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    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:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    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:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: tcmalloc_internal::GwpAsanState::actual_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: std::optional<std::align_val_t>
    signature: std::optional<std::align_val_t> actual_alignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: tcmalloc_internal::GwpAsanState::expected_alignment
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: std::optional<std::align_val_t>
    signature: std::optional<std::align_val_t> expected_alignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: tcmalloc_internal::GwpAsanState::alloc_type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: Profile::Sample::AllocationType
    signature: Profile::Sample::AllocationType alloc_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: tcmalloc_internal::GwpAsanState::dealloc_type
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: Profile::Sample::AllocationType
    signature: Profile::Sample::AllocationType dealloc_type() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:121,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:123,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:123,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:124,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:124,1
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:131,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:133,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:133,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:134,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 7
    argNames:
    - ptr
    - provided_min
    - provided_max
    - minimum
    - maximum
    - allocation_stack
    - deallocation_stack
    argTypes:
    - void*
    - 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: 140
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 140
    functionName: tcmalloc_internal::GwpAsanState::RecordMismatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - memcpy
    - std::optional<absl::Span<void* const>>::data
    - std::min<size_t>
    - std::optional<absl::Span<void* const>>::has_value
    - std::optional<absl::Span<void* const>>::size
    linkageType: ''
    returnType: void
    signature: "void RecordMismatch(\n      const void* ptr, size_t provided_min,
      size_t provided_max, size_t minimum,\n      size_t maximum, 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:148,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:148,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:149,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - deallocation_stack
    argTypes:
    - void*
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: tcmalloc_internal::GwpAsanState::RecordDoubleFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::Span<void* const>::data
    - std::min<size_t>
    - memcpy
    - absl::Span<void* const>::size
    linkageType: ''
    returnType: void
    signature: "void RecordDoubleFree(const void* ptr,\n                        absl::Span<void*
      const> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:160,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:160,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:161,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - deallocation_stack
    argTypes:
    - void*
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: tcmalloc_internal::GwpAsanState::RecordInvalidFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::Span<void* const>::data
    - std::min<size_t>
    - memcpy
    - absl::Span<void* const>::size
    linkageType: ''
    returnType: void
    signature: "void RecordInvalidFree(const void* ptr,\n                         absl::Span<void*
      const> deallocation_stack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<absl::Span<void* const>>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:177,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:179,1
    - Dst: std::optional<absl::Span<void* const>>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:179,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:180,1
    - Dst: std::optional<absl::Span<void* const>>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:180,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:188,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:188,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:189,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ptr
    - actual_alignment
    - expected_alignment
    - allocation_stack
    - deallocation_stack
    argTypes:
    - void*
    - std::optional<std::align_val_t>
    - std::optional<std::align_val_t>
    - std::optional<absl::Span<void* const>>
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::GwpAsanState::RecordInvalidFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - memcpy
    - absl::Span<void* const>::size
    - std::optional<absl::Span<void* const>>::data
    - std::min<size_t>
    - absl::Span<void* const>::data
    - std::optional<absl::Span<void* const>>::has_value
    - std::optional<absl::Span<void* const>>::size
    linkageType: ''
    returnType: void
    signature: "void RecordInvalidFree(\n      const void* ptr, std::optional<std::align_val_t>
      actual_alignment,\n      std::optional<std::align_val_t> expected_alignment,\n
      \     std::optional<absl::Span<void* const>> allocation_stack,\n      absl::Span<void*
      const> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:205,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:205,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:206,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:206,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:211,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:211,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:212,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ptr
    - actual_alignment
    - expected_alignment
    - allocation_stack
    - deallocation_stack
    argTypes:
    - void*
    - std::align_val_t
    - std::align_val_t
    - absl::Span<void* const>
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: tcmalloc_internal::GwpAsanState::RecordInvalidFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::Span<void* const>::data
    - std::min<size_t>
    - memcpy
    - absl::Span<void* const>::size
    linkageType: ''
    returnType: void
    signature: "void RecordInvalidFree(const void* ptr, std::align_val_t actual_alignment,\n
      \                        std::align_val_t expected_alignment,\n                         absl::Span<void*
      const> allocation_stack,\n                         absl::Span<void* const> deallocation_stack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:229,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:229,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:230,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:230,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:235,1
    - Dst: absl::Span<void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:235,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:236,1
    - Dst: absl::Span<void* const>::data
      Src: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ptr
    - alloc_type
    - dealloc_type
    - allocation_stack
    - deallocation_stack
    argTypes:
    - void*
    - Profile::Sample::AllocationType
    - Profile::Sample::AllocationType
    - absl::Span<void* const>
    - absl::Span<void* const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::GwpAsanState::RecordMismatchedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    functionUses: 0
    functionsReached:
    - absl::Span<void* const>::data
    - std::min<size_t>
    - memcpy
    - absl::Span<void* const>::size
    linkageType: ''
    returnType: void
    signature: "void RecordMismatchedFree(const void* ptr,\n                            Profile::Sample::AllocationType
      alloc_type,\n                            Profile::Sample::AllocationType dealloc_type,\n
      \                           absl::Span<void* const> allocation_stack,\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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:75,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:97,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - ElfW
    - 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:120,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - fields
    - std::tie
    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:132,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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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:149,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:155,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:161,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:164,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:168,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:169,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:178,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:183,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - stale_size::has_value
    - auto::has_value
    - swapped_size::value
    - stale_size::emplace
    - locked_size::has_value
    - resident_size::has_value
    - stale_size::value
    - locked_size::emplace
    - Iterate
    - Residency*::Get
    - locked_size::value
    - stale_scan_period::has_value
    - PageFlagsBase*::Get
    - resident_size::value
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:75,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:97,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - ElfW
    - 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:120,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - fields
    - std::tie
    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:132,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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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:149,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:155,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:161,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:164,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:168,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:169,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:178,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:183,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - stale_size::has_value
    - auto::has_value
    - swapped_size::value
    - stale_size::emplace
    - locked_size::has_value
    - resident_size::has_value
    - stale_size::value
    - locked_size::emplace
    - Iterate
    - Residency*::Get
    - locked_size::value
    - stale_scan_period::has_value
    - PageFlagsBase*::Get
    - resident_size::value
    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:222,1
    - Dst: reinterpret_cast<const ElfW(Nhdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:226,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:240,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:241,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:251,1
    - Dst: std::string::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:252,1
    - Dst: absl::BytesToHexString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:256,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:257,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 265
    functionName: tcmalloc::tcmalloc_internal::GetBuildId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - static_cast<ElfW(Word)>
    - absl::BytesToHexString
    - reinterpret_cast<const ElfW(Nhdr)*>
    - memcmp
    - reinterpret_cast<char*>
    - std::string::empty
    - absl::string_view
    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:346,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc: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::tcmalloc_internal::ProfileBuilder::ProfileBuilder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<perftools::profiles::Profile>
    - add_string_table
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::ProfileBuilder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:352,1
    - Dst: string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:356,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:357,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sv
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_string_table
    - string_table_size
    - emplace
    - absl::string_view::empty
    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:367,1
    - Dst: location_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:370,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:371,1
    - Dst: add_location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:376,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:377,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:378,1
    - Dst: set_address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:379,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:381,1
    - Dst: upper_bound
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:386,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:387,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:395,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:398,1
    - Dst: set_mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 403
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - mapping
    - emplace
    - id
    - add_location
    - set_address
    - location_size
    - set_id
    - absl::bit_cast<uintptr_t>
    - empty
    - set_mapping_id
    - TC_ASSERT
    - TC_ASSERT_EQ
    - memory_start
    - memory_limit
    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:411,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:412,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:412,1
    - Dst: add_location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,1
    - Dst: absl::Span<const void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,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: 416
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_location_id
    - location_id
    - absl::bit_cast<const void*>
    - absl::Span<const void* const>::size
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    - 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:426,1
    - Dst: profile_::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:427,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:436,1
    - Dst: readlink
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:453,1
    - Dst: GetSoName
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:461,1
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:467,1
    - Dst: GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:473,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:476,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - dl_iterate_phdr
    - realpath
    - static_cast<ProfileBuilder*>
    - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    - GetBuildId
    - GetSoName
    - readlink
    - profile_::mapping_size
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::AddCurrentMappings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:491,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:492,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:493,1
    - Dst: set_memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:494,1
    - Dst: set_memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: set_file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: set_filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:497,1
    - Dst: set_build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:500,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: 502
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - set_file_offset
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - set_memory_limit
    - emplace
    - add_mapping
    - set_id
    - set_filename
    - mapping_size
    - set_memory_start
    - set_build_id
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:507,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:510,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:511,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:512,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:513,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:514,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:515,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:516,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:517,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:524,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:531,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:534,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:535,1
    - Dst: requested_alignment::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:536,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:537,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:538,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:540,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:546,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:547,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:548,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:552,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:553,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:562,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:563,1
    - Dst: add_access_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:564,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:568,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:569,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:573,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:576,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:579,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:583,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:584,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:585,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:586,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:587,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:588,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:589,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:590,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:591,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:592,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:593,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:595,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:596,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:599,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:602,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:605,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:608,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:611,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:614,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:617,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:620,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:623,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:626,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:629,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - ' entry'
    - ' sample'
    - ' builder'
    argTypes:
    - tcmalloc::Profile::Sample
    - perftools::profiles::Sample
    - ProfileBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::AddCommonSampleTags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_access_label
    - static_cast<uint8_t>
    - set_str
    - InternString
    - set_num_unit
    - set_key
    - add_positive_label
    - ABSL_UNREACHABLE
    - add_label
    - requested_alignment::has_value
    - static_cast<size_t>
    - set_num
    linkageType: ''
    returnType: void
    signature: "void AddCommonSampleTags(const tcmalloc::Profile::Sample& entry,\n
      \                               perftools::profiles::Sample& sample,\n                                ProfileBuilder&
      builder)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:635,1
    - Dst: ProfileBuilder*::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:636,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:637,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:648,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:649,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:649,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:650,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:650,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:653,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:653,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:656,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:656,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:657,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:657,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:660,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:660,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:663,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:664,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:665,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:666,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:667,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:668,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:669,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:670,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:671,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:672,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:673,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:674,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:675,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:676,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:677,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:679,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:680,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ProfileBuilder*::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:686,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:687,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:688,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:689,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:694,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:700,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:701,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:703,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:704,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:705,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:706,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: tcmalloc::tcmalloc_internal::AddCommonSampleTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:712,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:715,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:716,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:717,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:718,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:719,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:720,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:721,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:722,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:723,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:725,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:728,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:731,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:734,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:737,1
    - Dst: abs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:741,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:747,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:748,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:749,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:750,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:751,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:752,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:754,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:755,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:756,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:757,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:758,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:759,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:761,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:762,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:763,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:764,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:765,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:766,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 71
    argCount: 2
    argNames:
    - ' profile'
    - builder
    argTypes:
    - tcmalloc::Profile
    - ProfileBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 770
    functionName: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddCommonSampleTags
    - TC_CHECK_LE
    - ProfileBuilder*::InternCallstack
    - set_num_unit
    - absl::ToUnixNanos
    - Iterate
    - set_drop_frames
    - mutable_period_type
    - add_optional_string_label
    - add_sample
    - add_sample_type
    - ProfileBuilder*::profile
    - set_num
    - auto::has_value
    - perftools::profiles::ValueType*::set_unit
    - set_time_nanos
    - set_default_sample_type
    - add_value
    - TC_CHECK_NE
    - ProfileBuilder*::InternString
    - absl::MakeSpan
    - abs
    - absl::ToInt64Nanoseconds
    - set_key
    - add_positive_label
    - set_duration_nanos
    - has_value
    - StartTime
    - add_label
    - perftools::profiles::ValueType*::set_type
    - set_str
    - value
    - Duration
    - absl::OkStatus
    - ABSL_ARRAYSIZE
    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:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 774
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:779,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:783,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:787,1
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:794,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:797,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:798,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:801,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:804,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:805,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:806,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:807,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:808,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:809,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:810,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:811,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:812,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:813,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:815,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:818,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:819,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:820,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:829,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:830,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:831,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:835,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:836,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:837,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:841,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:843,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:844,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:845,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:847,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:848,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:849,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:851,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:852,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:853,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:855,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:856,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:857,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:861,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:871,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:874,1
    - Dst: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:876,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:879,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:880,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:882,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:882,1
    - Dst: ProfileBuilder::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:885,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:886,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:888,1
    - Dst: resident_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:888,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:889,1
    - Dst: swapped_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:889,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    - Dst: stale_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:891,1
    - Dst: locked_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:891,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:896,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:897,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:898,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:904,1
    - Dst: tcmalloc::tcmalloc_internal::AddCommonSampleTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:907,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:909,1
    - Dst: stale_scan_period::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:910,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:913,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - ::tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 914
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - stale_size::value_or
    - tcmalloc::tcmalloc_internal::AddCommonSampleTags
    - TC_CHECK_LE
    - Type
    - set_num_unit
    - absl::Status::ok
    - absl::ToUnixNanos
    - resident_size::value_or
    - set_drop_frames
    - set_type
    - mutable_period_type
    - add_sample
    - add_sample_type
    - set_num
    - auto::has_value
    - perftools::profiles::ValueType*::set_unit
    - std::move
    - set_time_nanos
    - set_default_sample_type
    - ProfileBuilder::InternString
    - add_value
    - ProfileBuilder::AddCurrentMappings
    - absl::InvalidArgumentError
    - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    - ProfileBuilder::profile
    - swapped_size::value_or
    - locked_size::value_or
    - absl::MakeSpan
    - absl::ToInt64Nanoseconds
    - set_key
    - add_positive_label
    - set_duration_nanos
    - StartTime
    - add_label
    - ProfileBuilder::InternCallstack
    - perftools::profiles::ValueType*::set_type
    - stale_scan_period::value_or
    - set_unit
    - Duration
    - absl::UnimplementedError
    - ABSL_ARRAYSIZE
    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:917,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:917,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:918,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:919,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:920,1
    - Dst: set_doc_url
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:922,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:922,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - absl::StrCat
    - absl::InternalError
    - set_doc_url
    - absl::OkStatus
    - absl::StartsWith
    - absl::string_view::empty
    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:935,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:936,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:937,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - ::tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 941
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:75,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:97,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - ElfW
    - 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:120,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - fields
    - std::tie
    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:132,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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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:149,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:155,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:161,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:164,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:168,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:169,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:178,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:183,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - stale_size::has_value
    - auto::has_value
    - swapped_size::value
    - stale_size::emplace
    - locked_size::has_value
    - resident_size::has_value
    - stale_size::value
    - locked_size::emplace
    - Iterate
    - Residency*::Get
    - locked_size::value
    - stale_scan_period::has_value
    - PageFlagsBase*::Get
    - resident_size::value
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:75,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:97,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - ElfW
    - 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:120,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - fields
    - std::tie
    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:132,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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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:149,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:155,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:161,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:164,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:168,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:169,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:178,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:183,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - stale_size::has_value
    - auto::has_value
    - swapped_size::value
    - stale_size::emplace
    - locked_size::has_value
    - resident_size::has_value
    - stale_size::value
    - locked_size::emplace
    - Iterate
    - Residency*::Get
    - locked_size::value
    - stale_scan_period::has_value
    - PageFlagsBase*::Get
    - resident_size::value
    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:222,1
    - Dst: reinterpret_cast<const ElfW(Nhdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:226,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:240,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:241,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:251,1
    - Dst: std::string::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:252,1
    - Dst: absl::BytesToHexString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:256,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:257,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 265
    functionName: tcmalloc::tcmalloc_internal::GetBuildId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - static_cast<ElfW(Word)>
    - absl::BytesToHexString
    - reinterpret_cast<const ElfW(Nhdr)*>
    - memcmp
    - reinterpret_cast<char*>
    - std::string::empty
    - absl::string_view
    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:346,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc: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::tcmalloc_internal::ProfileBuilder::ProfileBuilder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<perftools::profiles::Profile>
    - add_string_table
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::ProfileBuilder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:352,1
    - Dst: string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:356,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:357,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sv
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - add_string_table
    - string_table_size
    - emplace
    - absl::string_view::empty
    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:367,1
    - Dst: location_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:370,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:371,1
    - Dst: add_location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:376,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:377,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:378,1
    - Dst: set_address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:379,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:381,1
    - Dst: upper_bound
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:386,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:387,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:395,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:398,1
    - Dst: set_mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 403
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - upper_bound
    - begin
    - mapping
    - emplace
    - id
    - add_location
    - set_address
    - location_size
    - set_id
    - absl::bit_cast<uintptr_t>
    - empty
    - set_mapping_id
    - TC_ASSERT
    - TC_ASSERT_EQ
    - memory_start
    - memory_limit
    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:411,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:412,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:412,1
    - Dst: add_location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,1
    - Dst: absl::Span<const void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,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: 416
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_location_id
    - location_id
    - absl::bit_cast<const void*>
    - absl::Span<const void* const>::size
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    - 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:426,1
    - Dst: profile_::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:427,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:436,1
    - Dst: readlink
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:453,1
    - Dst: GetSoName
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:461,1
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:467,1
    - Dst: GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:473,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:476,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - dl_iterate_phdr
    - realpath
    - static_cast<ProfileBuilder*>
    - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    - GetBuildId
    - GetSoName
    - readlink
    - profile_::mapping_size
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::AddCurrentMappings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:491,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:492,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:493,1
    - Dst: set_memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:494,1
    - Dst: set_memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: set_file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: set_filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:497,1
    - Dst: set_build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:500,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: 502
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - set_file_offset
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - set_memory_limit
    - emplace
    - add_mapping
    - set_id
    - set_filename
    - mapping_size
    - set_memory_start
    - set_build_id
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:507,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:510,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:511,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:512,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:513,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:514,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:515,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:516,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:517,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:524,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:531,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:534,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:535,1
    - Dst: requested_alignment::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:536,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:537,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:538,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:540,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:546,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:547,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:548,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:552,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:553,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:562,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:563,1
    - Dst: add_access_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:564,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:568,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:569,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:573,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:576,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:579,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:583,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:584,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:585,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:586,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:587,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:588,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:589,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:590,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:591,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:592,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:593,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:595,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:596,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:599,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:602,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:605,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:608,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:611,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:614,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:617,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:620,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:623,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:626,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:629,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - ' entry'
    - ' sample'
    - ' builder'
    argTypes:
    - tcmalloc::Profile::Sample
    - perftools::profiles::Sample
    - ProfileBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::AddCommonSampleTags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - add_access_label
    - static_cast<uint8_t>
    - set_str
    - InternString
    - set_num_unit
    - set_key
    - add_positive_label
    - ABSL_UNREACHABLE
    - add_label
    - requested_alignment::has_value
    - static_cast<size_t>
    - set_num
    linkageType: ''
    returnType: void
    signature: "void AddCommonSampleTags(const tcmalloc::Profile::Sample& entry,\n
      \                               perftools::profiles::Sample& sample,\n                                ProfileBuilder&
      builder)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:635,1
    - Dst: ProfileBuilder*::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:636,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:637,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:648,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:649,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:649,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:650,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:650,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:653,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:653,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:656,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:656,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:657,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:657,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:660,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:660,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:663,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:664,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:665,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:666,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:667,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:668,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:669,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:670,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:671,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:672,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:673,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:674,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:675,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:676,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:677,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:679,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:680,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ProfileBuilder*::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:686,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:687,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:688,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:689,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:694,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:700,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:701,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:703,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:704,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:705,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:706,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: tcmalloc::tcmalloc_internal::AddCommonSampleTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:712,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:715,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:716,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:717,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:718,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:719,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:720,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:721,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:722,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:723,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:725,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:728,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:731,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:734,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:737,1
    - Dst: abs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:741,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:747,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:748,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:749,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:750,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:751,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:752,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:754,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:755,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:756,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:757,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:758,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:759,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:761,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:762,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:763,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:764,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:765,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:766,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 71
    argCount: 2
    argNames:
    - ' profile'
    - builder
    argTypes:
    - tcmalloc::Profile
    - ProfileBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 770
    functionName: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddCommonSampleTags
    - TC_CHECK_LE
    - ProfileBuilder*::InternCallstack
    - set_num_unit
    - absl::ToUnixNanos
    - Iterate
    - set_drop_frames
    - mutable_period_type
    - add_optional_string_label
    - add_sample
    - add_sample_type
    - ProfileBuilder*::profile
    - set_num
    - auto::has_value
    - perftools::profiles::ValueType*::set_unit
    - set_time_nanos
    - set_default_sample_type
    - add_value
    - TC_CHECK_NE
    - ProfileBuilder*::InternString
    - absl::MakeSpan
    - abs
    - absl::ToInt64Nanoseconds
    - set_key
    - add_positive_label
    - set_duration_nanos
    - has_value
    - StartTime
    - add_label
    - perftools::profiles::ValueType*::set_type
    - set_str
    - value
    - Duration
    - absl::OkStatus
    - ABSL_ARRAYSIZE
    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:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 774
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:779,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:783,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:787,1
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:794,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:797,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:798,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:801,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:804,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:805,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:806,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:807,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:808,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:809,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:810,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:811,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:812,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:813,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:815,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:818,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:819,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:820,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:829,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:830,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:831,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:835,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:836,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:837,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:841,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:843,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:844,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:845,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:847,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:848,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:849,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:851,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:852,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:853,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:855,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:856,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:857,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:861,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:871,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:874,1
    - Dst: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:876,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:879,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:880,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:882,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:882,1
    - Dst: ProfileBuilder::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:885,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:886,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:888,1
    - Dst: resident_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:888,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:889,1
    - Dst: swapped_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:889,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    - Dst: stale_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:891,1
    - Dst: locked_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:891,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:896,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:897,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:898,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:904,1
    - Dst: tcmalloc::tcmalloc_internal::AddCommonSampleTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:907,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:909,1
    - Dst: stale_scan_period::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:910,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:913,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - ::tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 914
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - stale_size::value_or
    - tcmalloc::tcmalloc_internal::AddCommonSampleTags
    - TC_CHECK_LE
    - Type
    - set_num_unit
    - absl::Status::ok
    - absl::ToUnixNanos
    - resident_size::value_or
    - set_drop_frames
    - set_type
    - mutable_period_type
    - add_sample
    - add_sample_type
    - set_num
    - auto::has_value
    - perftools::profiles::ValueType*::set_unit
    - std::move
    - set_time_nanos
    - set_default_sample_type
    - ProfileBuilder::InternString
    - add_value
    - ProfileBuilder::AddCurrentMappings
    - absl::InvalidArgumentError
    - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    - ProfileBuilder::profile
    - swapped_size::value_or
    - locked_size::value_or
    - absl::MakeSpan
    - absl::ToInt64Nanoseconds
    - set_key
    - add_positive_label
    - set_duration_nanos
    - StartTime
    - add_label
    - ProfileBuilder::InternCallstack
    - perftools::profiles::ValueType*::set_type
    - stale_scan_period::value_or
    - set_unit
    - Duration
    - absl::UnimplementedError
    - ABSL_ARRAYSIZE
    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:917,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:917,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:918,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:919,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:920,1
    - Dst: set_doc_url
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:922,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:922,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - absl::StrCat
    - absl::InternalError
    - set_doc_url
    - absl::OkStatus
    - absl::StartsWith
    - absl::string_view::empty
    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:935,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:936,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:937,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - ::tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 941
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:75,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:97,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - ElfW
    - 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:120,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - fields
    - std::tie
    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:132,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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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:149,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:155,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:161,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:164,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:168,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:169,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:178,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:183,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - stale_size::has_value
    - auto::has_value
    - swapped_size::value
    - stale_size::emplace
    - locked_size::has_value
    - resident_size::has_value
    - stale_size::value
    - locked_size::emplace
    - Iterate
    - Residency*::Get
    - locked_size::value
    - stale_scan_period::has_value
    - PageFlagsBase*::Get
    - resident_size::value
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:75,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:97,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - ElfW
    - 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:120,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - fields
    - std::tie
    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:132,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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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:149,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:155,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:161,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:164,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:168,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:169,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:178,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:183,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - stale_size::has_value
    - auto::has_value
    - swapped_size::value
    - stale_size::emplace
    - locked_size::has_value
    - resident_size::has_value
    - stale_size::value
    - locked_size::emplace
    - Iterate
    - Residency*::Get
    - locked_size::value
    - stale_scan_period::has_value
    - PageFlagsBase*::Get
    - resident_size::value
    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:222,1
    - Dst: reinterpret_cast<const ElfW(Nhdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:226,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:240,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:241,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:251,1
    - Dst: std::string::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:252,1
    - Dst: absl::BytesToHexString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:256,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:257,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 265
    functionName: tcmalloc::tcmalloc_internal::GetBuildId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - static_cast<ElfW(Word)>
    - absl::BytesToHexString
    - reinterpret_cast<const ElfW(Nhdr)*>
    - memcmp
    - reinterpret_cast<char*>
    - std::string::empty
    - absl::string_view
    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:346,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc: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::tcmalloc_internal::ProfileBuilder::ProfileBuilder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<perftools::profiles::Profile>
    - add_string_table
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::ProfileBuilder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:352,1
    - Dst: string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:356,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:357,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sv
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached:
    - add_string_table
    - string_table_size
    - emplace
    - absl::string_view::empty
    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:367,1
    - Dst: location_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:370,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:371,1
    - Dst: add_location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:376,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:377,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:378,1
    - Dst: set_address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:379,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:381,1
    - Dst: upper_bound
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:386,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:387,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:395,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:398,1
    - Dst: set_mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 403
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - upper_bound
    - begin
    - mapping
    - emplace
    - id
    - add_location
    - set_address
    - location_size
    - set_id
    - absl::bit_cast<uintptr_t>
    - empty
    - set_mapping_id
    - TC_ASSERT
    - TC_ASSERT_EQ
    - memory_start
    - memory_limit
    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:411,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:412,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:412,1
    - Dst: add_location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,1
    - Dst: absl::Span<const void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,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: 416
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_location_id
    - location_id
    - absl::bit_cast<const void*>
    - absl::Span<const void* const>::size
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    - 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:426,1
    - Dst: profile_::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:427,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:436,1
    - Dst: readlink
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:453,1
    - Dst: GetSoName
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:461,1
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:467,1
    - Dst: GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:473,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:476,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - dl_iterate_phdr
    - realpath
    - static_cast<ProfileBuilder*>
    - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    - GetBuildId
    - GetSoName
    - readlink
    - profile_::mapping_size
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::AddCurrentMappings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:491,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:492,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:493,1
    - Dst: set_memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:494,1
    - Dst: set_memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: set_file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: set_filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:497,1
    - Dst: set_build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:500,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: 502
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - set_file_offset
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - set_memory_limit
    - emplace
    - add_mapping
    - set_id
    - set_filename
    - mapping_size
    - set_memory_start
    - set_build_id
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:507,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:510,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:511,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:512,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:513,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:514,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:515,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:516,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:517,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:524,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:531,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:534,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:535,1
    - Dst: requested_alignment::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:536,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:537,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:538,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:540,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:546,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:547,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:548,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:552,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:553,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:562,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:563,1
    - Dst: add_access_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:564,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:568,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:569,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:573,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:576,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:579,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:583,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:584,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:585,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:586,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:587,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:588,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:589,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:590,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:591,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:592,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:593,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:595,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:596,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:599,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:602,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:605,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:608,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:611,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:614,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:617,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:620,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:623,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:626,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:629,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - ' entry'
    - ' sample'
    - ' builder'
    argTypes:
    - tcmalloc::Profile::Sample
    - perftools::profiles::Sample
    - ProfileBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::AddCommonSampleTags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached:
    - add_access_label
    - static_cast<uint8_t>
    - set_str
    - InternString
    - set_num_unit
    - set_key
    - add_positive_label
    - ABSL_UNREACHABLE
    - add_label
    - requested_alignment::has_value
    - static_cast<size_t>
    - set_num
    linkageType: ''
    returnType: void
    signature: "void AddCommonSampleTags(const tcmalloc::Profile::Sample& entry,\n
      \                               perftools::profiles::Sample& sample,\n                                ProfileBuilder&
      builder)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:635,1
    - Dst: ProfileBuilder*::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:636,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:637,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:648,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:649,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:649,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:650,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:650,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:653,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:653,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:656,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:656,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:657,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:657,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:660,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:660,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:663,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:664,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:665,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:666,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:667,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:668,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:669,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:670,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:671,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:672,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:673,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:674,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:675,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:676,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:677,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:679,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:680,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ProfileBuilder*::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:686,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:687,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:688,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:689,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:694,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:700,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:701,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:703,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:704,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:705,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:706,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: tcmalloc::tcmalloc_internal::AddCommonSampleTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:712,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:715,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:716,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:717,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:718,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:719,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:720,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:721,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:722,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:723,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:725,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:728,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:731,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:734,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:737,1
    - Dst: abs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:741,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:747,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:748,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:749,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:750,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:751,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:752,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:754,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:755,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:756,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:757,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:758,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:759,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:761,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:762,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:763,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:764,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:765,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:766,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 71
    argCount: 2
    argNames:
    - ' profile'
    - builder
    argTypes:
    - tcmalloc::Profile
    - ProfileBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 770
    functionName: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddCommonSampleTags
    - TC_CHECK_LE
    - ProfileBuilder*::InternCallstack
    - set_num_unit
    - absl::ToUnixNanos
    - Iterate
    - set_drop_frames
    - mutable_period_type
    - add_optional_string_label
    - add_sample
    - add_sample_type
    - ProfileBuilder*::profile
    - set_num
    - auto::has_value
    - perftools::profiles::ValueType*::set_unit
    - set_time_nanos
    - set_default_sample_type
    - add_value
    - TC_CHECK_NE
    - ProfileBuilder*::InternString
    - absl::MakeSpan
    - abs
    - absl::ToInt64Nanoseconds
    - set_key
    - add_positive_label
    - set_duration_nanos
    - has_value
    - StartTime
    - add_label
    - perftools::profiles::ValueType*::set_type
    - set_str
    - value
    - Duration
    - absl::OkStatus
    - ABSL_ARRAYSIZE
    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:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 774
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:779,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:783,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:787,1
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:794,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:797,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:798,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:801,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:804,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:805,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:806,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:807,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:808,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:809,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:810,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:811,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:812,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:813,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:815,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:818,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:819,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:820,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:829,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:830,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:831,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:835,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:836,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:837,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:841,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:843,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:844,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:845,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:847,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:848,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:849,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:851,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:852,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:853,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:855,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:856,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:857,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:861,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:871,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:874,1
    - Dst: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:876,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:879,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:880,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:882,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:882,1
    - Dst: ProfileBuilder::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:885,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:886,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:888,1
    - Dst: resident_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:888,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:889,1
    - Dst: swapped_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:889,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    - Dst: stale_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:891,1
    - Dst: locked_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:891,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:896,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:897,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:898,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:904,1
    - Dst: tcmalloc::tcmalloc_internal::AddCommonSampleTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:907,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:909,1
    - Dst: stale_scan_period::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:910,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:913,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - ::tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 914
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached:
    - stale_size::value_or
    - tcmalloc::tcmalloc_internal::AddCommonSampleTags
    - TC_CHECK_LE
    - Type
    - set_num_unit
    - absl::Status::ok
    - absl::ToUnixNanos
    - resident_size::value_or
    - set_drop_frames
    - set_type
    - mutable_period_type
    - add_sample
    - add_sample_type
    - set_num
    - auto::has_value
    - perftools::profiles::ValueType*::set_unit
    - std::move
    - set_time_nanos
    - set_default_sample_type
    - ProfileBuilder::InternString
    - add_value
    - ProfileBuilder::AddCurrentMappings
    - absl::InvalidArgumentError
    - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    - ProfileBuilder::profile
    - swapped_size::value_or
    - locked_size::value_or
    - absl::MakeSpan
    - absl::ToInt64Nanoseconds
    - set_key
    - add_positive_label
    - set_duration_nanos
    - StartTime
    - add_label
    - ProfileBuilder::InternCallstack
    - perftools::profiles::ValueType*::set_type
    - stale_scan_period::value_or
    - set_unit
    - Duration
    - absl::UnimplementedError
    - ABSL_ARRAYSIZE
    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:917,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:917,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:918,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:919,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:920,1
    - Dst: set_doc_url
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:922,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:922,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - absl::StrCat
    - absl::InternalError
    - set_doc_url
    - absl::OkStatus
    - absl::StartsWith
    - absl::string_view::empty
    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:935,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:936,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:937,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - ::tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 941
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:75,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:97,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - ElfW
    - 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:120,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - fields
    - std::tie
    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:132,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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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:149,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:155,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:161,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:164,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:168,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:169,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:178,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:183,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - stale_size::has_value
    - auto::has_value
    - swapped_size::value
    - stale_size::emplace
    - locked_size::has_value
    - resident_size::has_value
    - stale_size::value
    - locked_size::emplace
    - Iterate
    - Residency*::Get
    - locked_size::value
    - stale_scan_period::has_value
    - PageFlagsBase*::Get
    - resident_size::value
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:75,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: reinterpret_cast<ElfW(Dyn)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:80,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:96,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:97,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:99,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: tcmalloc::tcmalloc_internal::GetSoName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - TC_CHECK_LT
    - reinterpret_cast<char*>
    - tcmalloc::tcmalloc_internal::GetFirstSegment
    - ElfW
    - 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:120,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: fields
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:125,1
    - Dst: std::equal
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Profile::Sample
    - Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: operator()(const Profile::Sample& a, const Profile::Sample& b) const
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::equal
    - fields
    - std::tie
    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:132,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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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:149,1
    - Dst: Residency*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:155,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:161,1
    - Dst: resident_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:164,1
    - Dst: resident_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:168,1
    - Dst: swapped_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:169,1
    - Dst: PageFlagsBase*::Get
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:176,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:177,1
    - Dst: stale_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:178,1
    - Dst: stale_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:179,1
    - Dst: stale_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:181,1
    - Dst: locked_size::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:183,1
    - Dst: locked_size::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:184,1
    - Dst: locked_size::value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:186,1
    - Dst: stale_scan_period::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - stale_size::has_value
    - auto::has_value
    - swapped_size::value
    - stale_size::emplace
    - locked_size::has_value
    - resident_size::has_value
    - stale_size::value
    - locked_size::emplace
    - Iterate
    - Residency*::Get
    - locked_size::value
    - stale_scan_period::has_value
    - PageFlagsBase*::Get
    - resident_size::value
    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:222,1
    - Dst: reinterpret_cast<const ElfW(Nhdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:226,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:240,1
    - Dst: static_cast<ElfW(Word)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:241,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:251,1
    - Dst: std::string::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:252,1
    - Dst: absl::BytesToHexString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:256,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:257,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - dl_phdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 265
    functionName: tcmalloc::tcmalloc_internal::GetBuildId
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - static_cast<ElfW(Word)>
    - absl::BytesToHexString
    - reinterpret_cast<const ElfW(Nhdr)*>
    - memcmp
    - reinterpret_cast<char*>
    - std::string::empty
    - absl::string_view
    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:346,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc: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::tcmalloc_internal::ProfileBuilder::ProfileBuilder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<perftools::profiles::Profile>
    - add_string_table
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::ProfileBuilder()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:352,1
    - Dst: string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:356,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:357,1
    - Dst: add_string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sv
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 6
    functionsReached:
    - add_string_table
    - string_table_size
    - emplace
    - absl::string_view::empty
    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:367,1
    - Dst: location_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:370,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:371,1
    - Dst: add_location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:376,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:377,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:378,1
    - Dst: set_address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:379,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:381,1
    - Dst: upper_bound
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:386,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:387,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:394,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:395,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:396,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:398,1
    - Dst: set_mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 403
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - upper_bound
    - begin
    - mapping
    - emplace
    - id
    - add_location
    - set_address
    - location_size
    - set_id
    - absl::bit_cast<uintptr_t>
    - empty
    - set_mapping_id
    - TC_ASSERT
    - TC_ASSERT_EQ
    - memory_start
    - memory_limit
    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:411,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:412,1
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:412,1
    - Dst: add_location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:413,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,1
    - Dst: absl::Span<const void* const>::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:415,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: 416
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::InternCallstack
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - add_location_id
    - location_id
    - absl::bit_cast<const void*>
    - absl::Span<const void* const>::size
    - absl::bit_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternLocation
    - 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:426,1
    - Dst: profile_::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:427,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:436,1
    - Dst: readlink
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:453,1
    - Dst: GetSoName
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:461,1
    - Dst: realpath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:467,1
    - Dst: GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:473,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:476,1
    - Dst: dl_iterate_phdr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 485
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddCurrentMappings
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_NE
    - dl_iterate_phdr
    - realpath
    - static_cast<ProfileBuilder*>
    - tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    - GetBuildId
    - GetSoName
    - readlink
    - profile_::mapping_size
    linkageType: ''
    returnType: void
    signature: void ProfileBuilder::AddCurrentMappings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:491,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:492,1
    - Dst: set_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:493,1
    - Dst: set_memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:494,1
    - Dst: set_memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:495,1
    - Dst: set_file_offset
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:496,1
    - Dst: set_filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:497,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:497,1
    - Dst: set_build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:498,1
    - Dst: emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:500,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: 502
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::AddMapping
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 4
    functionsReached:
    - set_file_offset
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - set_memory_limit
    - emplace
    - add_mapping
    - set_id
    - set_filename
    - mapping_size
    - set_memory_start
    - set_build_id
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:507,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:508,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:509,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:510,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:511,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:512,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:513,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:514,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:515,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:516,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:517,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:518,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:519,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:523,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:524,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:525,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:526,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:531,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:534,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:535,1
    - Dst: requested_alignment::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:536,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:537,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:538,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:540,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:546,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:547,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:548,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:552,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:553,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:554,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:562,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:563,1
    - Dst: add_access_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:564,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:566,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:568,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:569,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:573,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:576,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:579,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:583,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:584,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:585,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:586,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:587,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:588,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:589,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:590,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:591,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:592,1
    - Dst: InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:593,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:595,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:596,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:599,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:602,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:605,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:608,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:611,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:614,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:617,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:620,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:623,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:626,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:629,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - ' entry'
    - ' sample'
    - ' builder'
    argTypes:
    - tcmalloc::Profile::Sample
    - perftools::profiles::Sample
    - ProfileBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 631
    functionName: tcmalloc::tcmalloc_internal::AddCommonSampleTags
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 6
    functionsReached:
    - add_access_label
    - static_cast<uint8_t>
    - set_str
    - InternString
    - set_num_unit
    - set_key
    - add_positive_label
    - ABSL_UNREACHABLE
    - add_label
    - requested_alignment::has_value
    - static_cast<size_t>
    - set_num
    linkageType: ''
    returnType: void
    signature: "void AddCommonSampleTags(const tcmalloc::Profile::Sample& entry,\n
      \                               perftools::profiles::Sample& sample,\n                                ProfileBuilder&
      builder)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:635,1
    - Dst: ProfileBuilder*::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:636,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:637,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:639,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:640,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:648,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:649,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:649,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:650,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:650,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:653,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:653,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:654,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:656,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:656,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:657,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:657,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:660,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:660,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:663,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:664,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:665,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:666,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:667,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:668,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:669,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:670,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:671,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:672,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:673,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:674,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:675,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:676,1
    - Dst: ProfileBuilder*::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:677,1
    - Dst: Iterate
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:679,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:680,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:682,1
    - Dst: ProfileBuilder*::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:683,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:686,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:687,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:688,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:689,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:694,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:700,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:701,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:703,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:704,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:705,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:706,1
    - Dst: set_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:708,1
    - Dst: tcmalloc::tcmalloc_internal::AddCommonSampleTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:712,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:715,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:716,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:717,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:718,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:719,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:720,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:721,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:722,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:723,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:725,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:728,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:731,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:734,1
    - Dst: add_optional_string_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:737,1
    - Dst: abs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:741,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:747,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:748,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:749,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:750,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:751,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:752,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:754,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:755,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:756,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:757,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:758,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:759,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:761,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:762,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:763,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:764,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:765,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:766,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 71
    argCount: 2
    argNames:
    - ' profile'
    - builder
    argTypes:
    - tcmalloc::Profile
    - ProfileBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 770
    functionName: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::tcmalloc_internal::AddCommonSampleTags
    - TC_CHECK_LE
    - ProfileBuilder*::InternCallstack
    - set_num_unit
    - absl::ToUnixNanos
    - Iterate
    - set_drop_frames
    - mutable_period_type
    - add_optional_string_label
    - add_sample
    - add_sample_type
    - ProfileBuilder*::profile
    - set_num
    - auto::has_value
    - perftools::profiles::ValueType*::set_unit
    - set_time_nanos
    - set_default_sample_type
    - add_value
    - TC_CHECK_NE
    - ProfileBuilder*::InternString
    - absl::MakeSpan
    - abs
    - absl::ToInt64Nanoseconds
    - set_key
    - add_positive_label
    - set_duration_nanos
    - has_value
    - StartTime
    - add_label
    - perftools::profiles::ValueType*::set_type
    - set_str
    - value
    - Duration
    - absl::OkStatus
    - ABSL_ARRAYSIZE
    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:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 774
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:779,1
    - Dst: absl::UnimplementedError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:783,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:787,1
    - Dst: ProfileBuilder::AddCurrentMappings
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:794,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:797,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:798,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:801,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:804,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:805,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:806,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:807,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:808,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:809,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:810,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:811,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:812,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:813,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:815,1
    - Dst: mutable_period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:818,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:819,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:820,1
    - Dst: set_drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:821,1
    - Dst: set_duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: Duration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:822,1
    - Dst: StartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:824,1
    - Dst: set_time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:825,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:829,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:830,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:831,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:835,1
    - Dst: set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:836,1
    - Dst: set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:837,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:841,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:843,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:844,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:845,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:847,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:848,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:849,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:851,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:852,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:853,1
    - Dst: add_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:855,1
    - Dst: perftools::profiles::ValueType*::set_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:856,1
    - Dst: perftools::profiles::ValueType*::set_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:857,1
    - Dst: Type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:861,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:871,1
    - Dst: set_default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:874,1
    - Dst: tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:876,1
    - Dst: ProfileBuilder::profile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:879,1
    - Dst: add_sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:880,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:882,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:882,1
    - Dst: ProfileBuilder::InternCallstack
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:883,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:885,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:886,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:888,1
    - Dst: resident_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:888,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:889,1
    - Dst: swapped_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:889,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    - Dst: stale_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:890,1
    - Dst: add_value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:891,1
    - Dst: locked_size::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:891,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:896,1
    - Dst: set_key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:897,1
    - Dst: set_num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:898,1
    - Dst: set_num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:899,1
    - Dst: add_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:904,1
    - Dst: tcmalloc::tcmalloc_internal::AddCommonSampleTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:907,1
    - Dst: add_positive_label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:909,1
    - Dst: stale_scan_period::value_or
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:910,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:913,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 3
    argNames:
    - ' profile'
    - pageflags
    - residency
    argTypes:
    - ::tcmalloc::Profile
    - PageFlagsBase*
    - Residency*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 914
    functionName: tcmalloc::tcmalloc_internal::MakeProfileProto
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 5
    functionsReached:
    - stale_size::value_or
    - tcmalloc::tcmalloc_internal::AddCommonSampleTags
    - TC_CHECK_LE
    - Type
    - set_num_unit
    - absl::Status::ok
    - absl::ToUnixNanos
    - resident_size::value_or
    - set_drop_frames
    - set_type
    - mutable_period_type
    - add_sample
    - add_sample_type
    - set_num
    - auto::has_value
    - perftools::profiles::ValueType*::set_unit
    - std::move
    - set_time_nanos
    - set_default_sample_type
    - ProfileBuilder::InternString
    - add_value
    - ProfileBuilder::AddCurrentMappings
    - absl::InvalidArgumentError
    - tcmalloc::tcmalloc_internal::MergeProfileSamplesAndMaybeGetResidencyInfo
    - tcmalloc::tcmalloc_internal::MakeLifetimeProfileProto
    - ProfileBuilder::profile
    - swapped_size::value_or
    - locked_size::value_or
    - absl::MakeSpan
    - absl::ToInt64Nanoseconds
    - set_key
    - add_positive_label
    - set_duration_nanos
    - StartTime
    - add_label
    - ProfileBuilder::InternCallstack
    - perftools::profiles::ValueType*::set_type
    - stale_scan_period::value_or
    - set_unit
    - Duration
    - absl::UnimplementedError
    - ABSL_ARRAYSIZE
    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:917,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:917,1
    - Dst: absl::StartsWith
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:918,1
    - Dst: absl::InternalError
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:919,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:920,1
    - Dst: set_doc_url
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:922,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:922,1
    - Dst: absl::OkStatus
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: tcmalloc::tcmalloc_internal::ProfileBuilder::SetDocURL
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::ProfileBuilder::InternString
    - absl::StrCat
    - absl::InternalError
    - set_doc_url
    - absl::OkStatus
    - absl::StartsWith
    - absl::string_view::empty
    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:935,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:936,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:937,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder.cc:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' profile'
    argTypes:
    - ::tcmalloc::Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 941
    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: 24
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:112,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:116,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:120,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:180,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:220,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:233,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:265,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:279,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:279,1
    - Dst: RoundDown
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:285,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:297,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:297,1
    - Dst: AllocateFromRegion
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:304,1
    - Dst: system_allocator_internal::CheckAddressBits<kAddressBits>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:307,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:308,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:309,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:309,1
    - Dst: DiscardMappedRegions
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:325,1
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:345,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:347,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:358,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:358,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:359,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:360,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:361,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:362,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:369,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:370,1
    - Dst: preferential_collapse
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:372,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:375,1
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:385,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:387,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:389,1
    - Dst: MmapRegion::MmapRegion
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:388,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:395,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:396,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:398,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:401,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:408,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:409,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:410,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:412,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:433,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:435,1
    - Dst: MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:436,1
    - Dst: TagToHint
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:439,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:440,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:442,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:445,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:447,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:448,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:450,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:456,1
    - Dst: switch
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:457,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:470,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:471,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:476,1
    - Dst: MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:482,1
    - Dst: TagToHint
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:485,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:486,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:488,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:491,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 492
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - RoundDown
    - AllocateFromRegion
    - data
    - strerror
    - Create
    - begin
    - std::fill
    - MmapAlignedLocked
    - ASSUME
    - TC_ASSERT_EQ
    - DiscardMappedRegions
    - MallocInternal
    - system_allocator_internal::CheckAddressBits<kAddressBits>
    - __builtin_unreachable
    - TC_LOG
    - absl::has_single_bit
    - store
    - reinterpret_cast<void*>
    - size
    - Printer::printf
    - GetPageSize
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - fetch_add
    - IsExperimentActive
    - std::max
    - mprotect
    - madvise
    - AddressRegion*::Alloc
    - munmap
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - Printer::SpaceRequired
    - load
    - MmapRegion::MmapRegion
    - switch
    - preferential_collapse
    - __builtin_trap
    - RoundUp
    - TC_ASSERT
    - TagToHint
    - end
    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:
    - " topology\n                                         ABSL_ATTRIBUTE_LIFETIME_BOUND"
    - min_mmap_size
    argTypes:
    - Topology
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::SystemAllocator::SystemAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator(const Topology& topology\n                                         ABSL_ATTRIBUTE_LIFETIME_BOUND,\n
      \                                    size_t min_mmap_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.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::SystemAllocator::release_errors
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int release_errors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::SystemAllocator::set_madvise_preference
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.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::SystemAllocator::madvise_preference
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc_internal::SystemAllocator::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: tcmalloc_internal::SystemAllocator::MmapRegion::MmapRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~MmapRegion() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MmapRegion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:220,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: tcmalloc_internal::SystemAllocator::MmapRegionFactory::MmapRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: ~MmapRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MmapRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:279,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::system_allocator_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::system_allocator_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:279,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::system_allocator_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::system_allocator_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:297,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:297,1
    - Dst: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:304,1
    - Dst: system_allocator_internal::CheckAddressBits<kAddressBits>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:307,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:308,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:309,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bytes
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - GetPageSize
    - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion
    - TC_ASSERT_EQ
    - system_allocator_internal::CheckAddressBits<kAddressBits>
    - std::max
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange SystemAllocator<Topology, NormalPartitions>::Allocate(\n
      \   size_t bytes, size_t alignment, const MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::GetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AddressRegionFactory
    signature: 'AddressRegionFactory *

      SystemAllocator<Topology, NormalPartitions>::GetRegionFactory() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::SetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator<Topology, NormalPartitions>::SetRegionFactory(\n
      \   AddressRegionFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 1
    functionsReached:
    - begin
    - end
    - std::fill
    linkageType: ''
    returnType: void
    signature: void SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:345,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:347,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:358,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:358,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:359,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:360,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:361,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:362,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:369,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:370,1
    - Dst: preferential_collapse
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:372,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - request_size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 379
    functionName: "SystemAllocator<Topology, NormalPartitions>::MmapRegion::Alloc(\n
      \   size_t request_size, size_t alignment)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - strerror
    - GetPageSize
    - preferential_collapse
    - RoundUp
    - IsExperimentActive
    - TC_ASSERT_EQ
    - std::max
    - madvise
    - TC_LOG
    - mprotect
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> SystemAllocator<Topology, NormalPartitions>::MmapRegion::Alloc(\n
      \   size_t request_size, size_t alignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:385,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:387,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:389,1
    - Dst: MmapRegion::MmapRegion
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: "*\nSystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::Create(\n
      \   void* start, size_t size, UsageHint hint)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - fetch_add
    - MmapRegion::MmapRegion
    - reinterpret_cast<uintptr_t>
    - MallocInternal
    linkageType: ''
    returnType: AddressRegion
    signature: "AddressRegion *\nSystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::Create(\n
      \   void* start, size_t size, UsageHint hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::data
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:395,1
    - Dst: absl::Span<char>::size
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:396,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:398,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: "SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStats(\n
      \   absl::Span<char> buffer)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - Printer::printf
    - absl::Span<char>::size
    - Printer::SpaceRequired
    - load
    - absl::Span<char>::data
    linkageType: ''
    returnType: size_t
    signature: "size_t SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStats(\n
      \   absl::Span<char> buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::data
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:408,1
    - Dst: absl::Span<char>::size
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:409,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:410,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: "SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStatsInPbtxt(\n
      \   absl::Span<char> buffer)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - Printer::printf
    - absl::Span<char>::size
    - Printer::SpaceRequired
    - load
    - absl::Span<char>::data
    linkageType: ''
    returnType: size_t
    signature: "size_t SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStatsInPbtxt(\n
      \   absl::Span<char> buffer)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:433,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:435,1
    - Dst: MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:436,1
    - Dst: TagToHint
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:439,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:440,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:442,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:445,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:447,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:448,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:450,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:456,1
    - Dst: switch
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - request_size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 468
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 1
    functionsReached:
    - Create
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - switch
    - MmapAlignedLocked
    - TC_ASSERT_EQ
    - RoundUp
    - TagToHint
    - std::max
    - AddressRegion*::Alloc
    - munmap
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion(\n
      \   size_t request_size, size_t alignment, const MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - " topology\n                                         ABSL_ATTRIBUTE_LIFETIME_BOUND"
    - min_mmap_size
    argTypes:
    - Topology
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: tcmalloc_internal::SystemAllocator::SystemAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator(const Topology& topology\n                                         ABSL_ATTRIBUTE_LIFETIME_BOUND,\n
      \                                    size_t min_mmap_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.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::SystemAllocator::release_errors
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int release_errors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - MadvisePreference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: tcmalloc_internal::SystemAllocator::set_madvise_preference
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.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::SystemAllocator::madvise_preference
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: tcmalloc_internal::SystemAllocator::Back
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: tcmalloc_internal::SystemAllocator::ABSL_GUARDED_BY
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: tcmalloc_internal::SystemAllocator::MmapRegion::MmapRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~MmapRegion() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MmapRegion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:220,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: tcmalloc_internal::SystemAllocator::MmapRegionFactory::MmapRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: ~MmapRegionFactory() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MmapRegionFactory() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:279,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::system_allocator_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::system_allocator_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: tcmalloc_internal::system_allocator_internal::CheckAddressBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:279,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: tcmalloc_internal::system_allocator_internal::RoundDown
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: tcmalloc_internal::system_allocator_internal::RoundUp
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.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/internal/system_allocator.h:297,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:297,1
    - Dst: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:304,1
    - Dst: system_allocator_internal::CheckAddressBits<kAddressBits>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:307,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:308,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:309,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bytes
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::Allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - GetPageSize
    - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion
    - TC_ASSERT_EQ
    - system_allocator_internal::CheckAddressBits<kAddressBits>
    - std::max
    linkageType: ''
    returnType: AddressRange
    signature: "AddressRange SystemAllocator<Topology, NormalPartitions>::Allocate(\n
      \   size_t bytes, size_t alignment, const MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::GetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AddressRegionFactory
    signature: 'AddressRegionFactory *

      SystemAllocator<Topology, NormalPartitions>::GetRegionFactory() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AddressRegionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::SetRegionFactory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator<Topology, NormalPartitions>::SetRegionFactory(\n
      \   AddressRegionFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    - Dst: begin
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 2
    functionsReached:
    - begin
    - end
    - std::fill
    linkageType: ''
    returnType: void
    signature: void SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:345,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:347,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:358,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:358,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:359,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:360,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:361,1
    - Dst: strerror
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:362,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:369,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:370,1
    - Dst: preferential_collapse
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:372,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - request_size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 379
    functionName: "SystemAllocator<Topology, NormalPartitions>::MmapRegion::Alloc(\n
      \   size_t request_size, size_t alignment)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - strerror
    - GetPageSize
    - preferential_collapse
    - RoundUp
    - IsExperimentActive
    - TC_ASSERT_EQ
    - std::max
    - madvise
    - TC_LOG
    - mprotect
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> SystemAllocator<Topology, NormalPartitions>::MmapRegion::Alloc(\n
      \   size_t request_size, size_t alignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MallocInternal
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:385,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:387,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:389,1
    - Dst: MmapRegion::MmapRegion
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: "*\nSystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::Create(\n
      \   void* start, size_t size, UsageHint hint)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - fetch_add
    - MmapRegion::MmapRegion
    - reinterpret_cast<uintptr_t>
    - MallocInternal
    linkageType: ''
    returnType: AddressRegion
    signature: "AddressRegion *\nSystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::Create(\n
      \   void* start, size_t size, UsageHint hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::data
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:395,1
    - Dst: absl::Span<char>::size
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:396,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:398,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: "SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStats(\n
      \   absl::Span<char> buffer)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - Printer::printf
    - absl::Span<char>::size
    - Printer::SpaceRequired
    - load
    - absl::Span<char>::data
    linkageType: ''
    returnType: size_t
    signature: "size_t SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStats(\n
      \   absl::Span<char> buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::data
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:408,1
    - Dst: absl::Span<char>::size
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:408,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:409,1
    - Dst: Printer::printf
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:410,1
    - Dst: Printer::SpaceRequired
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: "SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStatsInPbtxt(\n
      \   absl::Span<char> buffer)"
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - Printer::printf
    - absl::Span<char>::size
    - Printer::SpaceRequired
    - load
    - absl::Span<char>::data
    linkageType: ''
    returnType: size_t
    signature: "size_t SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStatsInPbtxt(\n
      \   absl::Span<char> buffer)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:433,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:435,1
    - Dst: MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:436,1
    - Dst: TagToHint
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:439,1
    - Dst: Create
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:440,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:442,1
    - Dst: AddressRegion*::Alloc
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:445,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:447,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:448,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:450,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:456,1
    - Dst: switch
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - request_size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 468
    functionName: tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 2
    functionsReached:
    - Create
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - switch
    - MmapAlignedLocked
    - TC_ASSERT_EQ
    - RoundUp
    - TagToHint
    - std::max
    - AddressRegion*::Alloc
    - munmap
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion(\n
      \   size_t request_size, size_t alignment, const MemoryTag tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SystemAllocator<Topology, NormalPartitions>::MmapAlignedLocked
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: SystemAllocator<Topology, NormalPartitions>::MmapAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - SystemAllocator<Topology, NormalPartitions>::MmapAlignedLocked
    linkageType: ''
    returnType: void
    signature: "void * SystemAllocator<Topology, NormalPartitions>::MmapAligned(\n
      \   size_t size, size_t alignment, const MemoryTag tag)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:506,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:507,1
    - Dst: ABSL_EXCLUSIVE_LOCKS_REQUIRED
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:511,1
    - Dst: switch
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:512,1
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 525
    functionName: SystemAllocator<Topology, NormalPartitions>::MmapAlignedLocked
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 1
    functionsReached:
    - ABSL_EXCLUSIVE_LOCKS_REQUIRED
    - switch
    - TC_ASSERT_LE
    - numa_aware
    linkageType: ''
    returnType: void
    signature: "void * SystemAllocator<Topology, NormalPartitions>::MmapAlignedLocked(\n
      \   size_t size, size_t alignment, const MemoryTag tag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:604,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:606,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:612,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:615,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:616,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:617,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:617,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:618,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:621,1
    - Dst: SystemAllocator<Topology, NormalPartitions>::ReleasePages
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:624,1
    - Dst: munlock
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:628,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:628,1
    - Dst: SystemAllocator<Topology, NormalPartitions>::ReleasePages
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:631,1
    - Dst: fetch_add
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:634,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 645
    functionName: SystemAllocator<Topology, NormalPartitions>::Release
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - SystemAllocator<Topology, NormalPartitions>::ReleasePages
    - munlock
    - GetPageSize
    - reinterpret_cast<char*>
    - fetch_add
    - TC_ASSERT_GE
    - TC_ASSERT_EQ
    - reinterpret_cast<size_t>
    - TC_ASSERT_LE
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: "MemoryModifyStatus SystemAllocator<Topology, NormalPartitions>::Release(\n
      \   void* start, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: preferential_collapse
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:657,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:658,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 664
    functionName: SystemAllocator<Topology, NormalPartitions>::Collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - madvise
    - preferential_collapse
    linkageType: ''
    returnType: MemoryModifyStatus
    signature: "MemoryModifyStatus SystemAllocator<Topology, NormalPartitions>::Collapse(\n
      \   void* start, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<absl::string_view>::has_value
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:677,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:678,1
    - Dst: strlen
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:678,1
    - Dst: std::optional<absl::string_view>::value
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:678,1
    - Dst: std::optional<absl::string_view>::value
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:678,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:679,1
    - Dst: std::optional<absl::string_view>::value
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:679,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:682,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:683,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:684,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:685,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: 688
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 688
    functionName: SystemAllocator<Topology, NormalPartitions>::SetAnonVmaName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - strlen
    - GetMemoryTag
    - std::optional<absl::string_view>::has_value
    - std::optional<absl::string_view>::value
    - prctl
    - MemoryTagToLabel
    - absl::SNPrintF
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator<Topology, NormalPartitions>::SetAnonVmaName(\n
      \   void* start, size_t length, std::optional<absl::string_view> name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bind_mode
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:698,1
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:699,1
    - Dst: GetPartitionNodes
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:703,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:705,1
    - Dst: TC_LOG
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:712,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:717,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - base
    - size
    - partition
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 720
    functionName: SystemAllocator<Topology, NormalPartitions>::BindMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - numa_aware
    - bind_mode
    - TC_BUG
    - TC_ASSERT_EQ
    - syscall
    - GetPartitionNodes
    - TC_LOG
    linkageType: ''
    returnType: void
    signature: "void SystemAllocator<Topology, NormalPartitions>::BindMemory(\n    void*
      const base, const size_t size, const size_t partition) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:728,1
    - Dst: numa_aware
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:733,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:745,1
    - Dst: __builtin_unreachable
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 747
    functionName: SystemAllocator<Topology, NormalPartitions>::TagToHint
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - numa_aware
    - ASSUME
    linkageType: ''
    returnType: AddressRegionFactory::UsageHint
    signature: AddressRegionFactory::UsageHint SystemAllocator<Topology, NormalPartitions>::TagToHint(MemoryTag
      tag) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:753,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:755,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:756,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:759,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:762,1
    - Dst: AssertHeld
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:763,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:764,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:786,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:786,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:788,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:790,1
    - Dst: reserved_for_app
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:822,1
    - Dst: tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:823,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:825,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:829,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:829,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:829,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - size
    - alignment
    - tag
    argTypes:
    - size_t
    - size_t
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 831
    functionName: SystemAllocator<Topology, NormalPartitions>::RandomMmapHint
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - GetPageSize
    - reserved_for_app
    - reinterpret_cast<const void*>
    - absl::bit_ceil
    - AssertHeld
    - TC_BUG
    - mmap
    - TC_ASSERT_EQ
    - std::max
    - absl::base_internal::LowLevelCallOnce
    - munmap
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t SystemAllocator<Topology, NormalPartitions>::RandomMmapHint(\n
      \   size_t size, size_t alignment, const MemoryTag tag)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: absl::bit_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:840,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:842,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:856,1
    - Dst: madvise_preference
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:866,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:875,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:880,1
    - Dst: madvise_preference
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:886,1
    - Dst: ABSL_UNREACHABLE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:895,1
    - Dst: madvise
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.h:901,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 910
    functionName: SystemAllocator<Topology, NormalPartitions>::ReleasePages
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    functionUses: 1
    functionsReached:
    - GetPageSize
    - madvise_preference
    - absl::bit_cast<uintptr_t>
    - ABSL_UNREACHABLE
    - madvise
    linkageType: ''
    returnType: bool
    signature: "bool SystemAllocator<Topology, NormalPartitions>::ReleasePages(\n
      \   void* start, size_t length) 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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:58,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:68,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<uintptr_t>
    - ProcMapsIterator::NextExt
    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/internal/system_allocator_test.cc:79,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<unsigned int>
    - EXPECT_EQ
    - static_cast<char*>
    - HasSubstr
    - MappingName
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MemoryTagToLabel
    - IsNormalMemory
    - SCOPED_TRACE
    - EXPECT_THAT
    - MmapAligned
    - EXPECT_NE
    - absl::StrFormat
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:103,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 1
    functionsReached:
    - mmap
    - prctl
    - munmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_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/internal/system_allocator_test.cc:139,1
    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::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:58,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:68,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<uintptr_t>
    - ProcMapsIterator::NextExt
    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/internal/system_allocator_test.cc:79,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<unsigned int>
    - EXPECT_EQ
    - static_cast<char*>
    - HasSubstr
    - MappingName
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MemoryTagToLabel
    - IsNormalMemory
    - SCOPED_TRACE
    - EXPECT_THAT
    - MmapAligned
    - EXPECT_NE
    - absl::StrFormat
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:103,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 2
    functionsReached:
    - mmap
    - prctl
    - munmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_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/internal/system_allocator_test.cc:139,1
    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::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:58,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:68,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<uintptr_t>
    - ProcMapsIterator::NextExt
    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/internal/system_allocator_test.cc:79,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<unsigned int>
    - EXPECT_EQ
    - static_cast<char*>
    - HasSubstr
    - MappingName
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MemoryTagToLabel
    - IsNormalMemory
    - SCOPED_TRACE
    - EXPECT_THAT
    - MmapAligned
    - EXPECT_NE
    - absl::StrFormat
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:103,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 3
    functionsReached:
    - mmap
    - prctl
    - munmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_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/internal/system_allocator_test.cc:139,1
    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::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:58,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:68,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<uintptr_t>
    - ProcMapsIterator::NextExt
    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/internal/system_allocator_test.cc:79,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<unsigned int>
    - EXPECT_EQ
    - static_cast<char*>
    - HasSubstr
    - MappingName
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MemoryTagToLabel
    - IsNormalMemory
    - SCOPED_TRACE
    - EXPECT_THAT
    - MmapAligned
    - EXPECT_NE
    - absl::StrFormat
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:103,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 4
    functionsReached:
    - mmap
    - prctl
    - munmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_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/internal/system_allocator_test.cc:139,1
    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::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:58,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:68,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<uintptr_t>
    - ProcMapsIterator::NextExt
    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/internal/system_allocator_test.cc:79,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<unsigned int>
    - EXPECT_EQ
    - static_cast<char*>
    - HasSubstr
    - MappingName
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MemoryTagToLabel
    - IsNormalMemory
    - SCOPED_TRACE
    - EXPECT_THAT
    - MmapAligned
    - EXPECT_NE
    - absl::StrFormat
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:103,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 5
    functionsReached:
    - mmap
    - prctl
    - munmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_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/internal/system_allocator_test.cc:139,1
    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::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:58,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:68,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<uintptr_t>
    - ProcMapsIterator::NextExt
    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/internal/system_allocator_test.cc:79,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<unsigned int>
    - EXPECT_EQ
    - static_cast<char*>
    - HasSubstr
    - MappingName
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MemoryTagToLabel
    - IsNormalMemory
    - SCOPED_TRACE
    - EXPECT_THAT
    - MmapAligned
    - EXPECT_NE
    - absl::StrFormat
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:103,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 6
    functionsReached:
    - mmap
    - prctl
    - munmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_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/internal/system_allocator_test.cc:139,1
    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::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:58,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:68,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<uintptr_t>
    - ProcMapsIterator::NextExt
    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/internal/system_allocator_test.cc:79,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<unsigned int>
    - EXPECT_EQ
    - static_cast<char*>
    - HasSubstr
    - MappingName
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MemoryTagToLabel
    - IsNormalMemory
    - SCOPED_TRACE
    - EXPECT_THAT
    - MmapAligned
    - EXPECT_NE
    - absl::StrFormat
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:103,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 7
    functionsReached:
    - mmap
    - prctl
    - munmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_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/internal/system_allocator_test.cc:139,1
    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::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:58,1
    - Dst: ProcMapsIterator::NextExt
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:68,1
    - Dst: std::string
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mmap_start
    - mmap_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: tcmalloc::tcmalloc_internal::MappingName
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<uintptr_t>
    - ProcMapsIterator::NextExt
    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/internal/system_allocator_test.cc:79,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: static_cast<unsigned int>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:83,1
    - Dst: MmapAligned
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:85,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: MappingName
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:93,1
    - Dst: MemoryTagToLabel
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<unsigned int>
    - EXPECT_EQ
    - static_cast<char*>
    - HasSubstr
    - MappingName
    - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    - MemoryTagToLabel
    - IsNormalMemory
    - SCOPED_TRACE
    - EXPECT_THAT
    - MmapAligned
    - EXPECT_NE
    - absl::StrFormat
    - munmap
    linkageType: ''
    returnType: void
    signature: void MmapAndCheck(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:103,1
    - Dst: prctl
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 8
    functionsReached:
    - mmap
    - prctl
    - munmap
    linkageType: ''
    returnType: bool
    signature: bool PrSetVmaIsSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MmapAndCheck
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tcmalloc::tcmalloc_internal::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_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/internal/system_allocator_test.cc:139,1
    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::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
    functionUses: 0
    functionsReached:
    - MmapAndCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(MmapAlignedTest, LargeSizeSmallAlignment)
  - 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: 8
    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:
    - open
    - read
    - poll
    - absl::Milliseconds
    - ::absl::SleepFor
    - absl::ZeroDuration
    - close
    - va_start
    - write
    - va_end
    - ::absl::Milliseconds
    - va_arg
    - signal_safe_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:
    - va_start
    - va_end
    - va_arg
    - open
    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:
    - poll
    - absl::Milliseconds
    - ::absl::SleepFor
    - absl::ZeroDuration
    - ::absl::Milliseconds
    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
    - tcmalloc_internal::signal_safe_poll
    - read
    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:
    - va_start
    - va_end
    - va_arg
    - open
    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:
    - poll
    - absl::Milliseconds
    - ::absl::SleepFor
    - absl::ZeroDuration
    - ::absl::Milliseconds
    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
    - tcmalloc_internal::signal_safe_poll
    - read
    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:
    - StatusIs
    - tcmalloc::MallocExtension::SnapshotCurrent
    - 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:
    - StatusIs
    - tcmalloc::MallocExtension::SnapshotCurrent
    - 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:
    - StatusIs
    - tcmalloc::MallocExtension::SnapshotCurrent
    - 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:
    - StatusIs
    - tcmalloc::MallocExtension::SnapshotCurrent
    - 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:
    - StatusIs
    - tcmalloc::MallocExtension::SnapshotCurrent
    - 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:
    - StatusIs
    - tcmalloc::MallocExtension::SnapshotCurrent
    - 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:
    - StatusIs
    - tcmalloc::MallocExtension::SnapshotCurrent
    - 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:
    - StatusIs
    - tcmalloc::MallocExtension::SnapshotCurrent
    - 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:143,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:147,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:178,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:198,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:212,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:228,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:229,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:246,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:246,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:247,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:256,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:271,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:271,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:272,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:277,1
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:278,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:280,1
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:295,1
    - Dst: Clear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:300,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:309,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:310,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:311,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:314,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:317,1
    - Dst: absl::popcount
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:318,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:325,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:326,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:327,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:330,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:332,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:342,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:345,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:351,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:354,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:363,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:366,1
    - Dst: CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:375,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:380,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:388,1
    - Dst: CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:389,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:393,1
    - Dst: CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:394,1
    - Dst: SetRangeValue<true>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:413,1
    - Dst: SetRangeValue<false>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:418,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:434,1
    - Dst: SetWordBits<Value>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:439,1
    - Dst: SetWordBits<Value>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:445,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:454,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:456,1
    - Dst: FindValue<true>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:464,1
    - Dst: FindValue<false>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:469,1
    - Dst: FindValueBackwards<true>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:474,1
    - Dst: FindValueBackwards<false>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:479,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:492,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:495,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:498,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:510,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:511,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:521,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:524,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:527,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:539,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:540,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 211
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 545
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - Clear
    - ASSUME
    - SetRangeValue<true>
    - longest_free
    - SetRangeValue<false>
    - TC_ASSERT_GE
    - FindSet
    - absl::popcount
    - FindSetBackwards
    - SetWordBits<Value>
    - FindValue<false>
    - NextFreeRange
    - std::min
    - CountWordBits
    - TC_ASSERT_GT
    - CountBits
    - size
    - absl::countr_zero
    - FindValueBackwards<true>
    - SetRange
    - TC_CHECK_LT
    - absl::bit_width
    - FindValueBackwards<false>
    - FindValue<true>
    - static_cast<size_t>
    - FindClear
    - tcmalloc_internal::max
    - TC_ASSERT
    - TC_ASSERT_LE
    - ClearRange
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 148
    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:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    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: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    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: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    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: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    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:198,1
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:212,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:228,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 240
    functionName: tcmalloc_internal::RangeTracker<N>::FindAndMark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LT
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    - TC_ASSERT_GT
    - SetRange
    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:246,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:246,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:247,1
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 265
    functionName: tcmalloc_internal::RangeTracker<N>::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    - SetRange
    - TC_ASSERT_GE
    - FindSet
    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:271,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:271,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:272,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:277,1
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:278,1
    - Dst: tcmalloc_internal::RangeTracker<N>::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: tcmalloc_internal::RangeTracker<N>::Unmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - FindClear
    - tcmalloc_internal::RangeTracker<N>::longest_free
    - FindSetBackwards
    - ClearRange
    - TC_ASSERT
    - FindSet
    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: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    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:295,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: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    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:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 304
    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:309,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:310,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:311,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:314,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:317,1
    - Dst: absl::popcount
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:318,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: 319
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::Bitmap<N>::CountWordBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - absl::popcount
    - ASSUME
    - static_cast<size_t>
    - TC_ASSERT
    - TC_ASSERT_LE
    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:325,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:326,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:327,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:330,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:332,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: 338
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::Bitmap<N>::SetWordBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - ASSUME
    - static_cast<size_t>
    - TC_ASSERT
    - TC_ASSERT_LE
    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:342,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: tcmalloc_internal::Bitmap<N>::GetBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - ASSUME
    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:351,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::Bitmap<N>::SetBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - ASSUME
    linkageType: ''
    returnType: bool
    signature: bool Bitmap<N>::SetBit(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:363,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: tcmalloc_internal::Bitmap<N>::ClearBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - ASSUME
    linkageType: ''
    returnType: bool
    signature: bool Bitmap<N>::ClearBit(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 376
    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:380,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:388,1
    - Dst: tcmalloc_internal::Bitmap<N>::CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:389,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:393,1
    - Dst: tcmalloc_internal::Bitmap<N>::CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::Bitmap<N>::CountBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - std::min
    - tcmalloc_internal::Bitmap<N>::CountWordBits
    - ASSUME
    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: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    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:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 414
    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:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 419
    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: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    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:434,1
    - Dst: tcmalloc_internal::Bitmap<N>::SetWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:439,1
    - Dst: tcmalloc_internal::Bitmap<N>::SetWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 448
    functionName: tcmalloc_internal::Bitmap<N>::SetRangeValue
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::SetWordBits
    - TC_ASSERT_LE
    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:454,1
    - Dst: tcmalloc_internal::Bitmap<N>::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:456,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: 460
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: tcmalloc_internal::Bitmap<N>::NextFreeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindSet
    - tcmalloc_internal::Bitmap<N>::FindClear
    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:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 465
    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:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 470
    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:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 475
    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:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 480
    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: 487
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 487
    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:492,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:495,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:498,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:510,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 516
    functionName: tcmalloc_internal::Bitmap<N>::FindValue
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - absl::countr_zero
    - static_cast<size_t>
    - ASSUME
    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:521,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:524,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:527,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:539,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 542
    functionName: tcmalloc_internal::Bitmap<N>::FindValueBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - absl::bit_width
    - TC_ASSERT_LT
    - static_cast<size_t>
    - ASSUME
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 148
    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:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    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: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    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: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    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: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    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:198,1
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:212,1
    - Dst: TC_CHECK_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:228,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 240
    functionName: tcmalloc_internal::RangeTracker<N>::FindAndMark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_CHECK_LT
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    - TC_ASSERT_GT
    - SetRange
    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:246,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:246,1
    - Dst: SetRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:247,1
    - Dst: tcmalloc_internal::RangeTracker<N>::NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 265
    functionName: tcmalloc_internal::RangeTracker<N>::Mark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::RangeTracker<N>::NextFreeRange
    - SetRange
    - TC_ASSERT_GE
    - FindSet
    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:271,1
    - Dst: FindClear
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:271,1
    - Dst: ClearRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:272,1
    - Dst: FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:277,1
    - Dst: FindSetBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:278,1
    - Dst: tcmalloc_internal::RangeTracker<N>::longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: tcmalloc_internal::RangeTracker<N>::Unmark
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - FindClear
    - tcmalloc_internal::RangeTracker<N>::longest_free
    - FindSetBackwards
    - ClearRange
    - TC_ASSERT
    - FindSet
    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: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    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:295,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: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    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:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 304
    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:309,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:310,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:311,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:314,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:317,1
    - Dst: absl::popcount
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:318,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: 319
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::Bitmap<N>::CountWordBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - absl::popcount
    - ASSUME
    - static_cast<size_t>
    - TC_ASSERT
    - TC_ASSERT_LE
    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:325,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:326,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:327,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:330,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:332,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: 338
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 338
    functionName: tcmalloc_internal::Bitmap<N>::SetWordBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - ASSUME
    - static_cast<size_t>
    - TC_ASSERT
    - TC_ASSERT_LE
    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:342,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: tcmalloc_internal::Bitmap<N>::GetBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - ASSUME
    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:351,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: tcmalloc_internal::Bitmap<N>::SetBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - ASSUME
    linkageType: ''
    returnType: bool
    signature: bool Bitmap<N>::SetBit(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:363,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: tcmalloc_internal::Bitmap<N>::ClearBit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - ASSUME
    linkageType: ''
    returnType: bool
    signature: bool Bitmap<N>::ClearBit(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Bitmap<N>::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 376
    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:380,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:388,1
    - Dst: tcmalloc_internal::Bitmap<N>::CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:389,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:393,1
    - Dst: tcmalloc_internal::Bitmap<N>::CountWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 399
    functionName: tcmalloc_internal::Bitmap<N>::CountBits
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 2
    functionsReached:
    - std::min
    - tcmalloc_internal::Bitmap<N>::CountWordBits
    - ASSUME
    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: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    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:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 414
    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:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 419
    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: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    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:434,1
    - Dst: tcmalloc_internal::Bitmap<N>::SetWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:439,1
    - Dst: tcmalloc_internal::Bitmap<N>::SetWordBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - index
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 448
    functionName: tcmalloc_internal::Bitmap<N>::SetRangeValue
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::SetWordBits
    - TC_ASSERT_LE
    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:454,1
    - Dst: tcmalloc_internal::Bitmap<N>::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:456,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: 460
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: tcmalloc_internal::Bitmap<N>::NextFreeRange
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Bitmap<N>::FindSet
    - tcmalloc_internal::Bitmap<N>::FindClear
    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:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 465
    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:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 470
    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:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 475
    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:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 480
    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: 487
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 487
    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:492,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:495,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:498,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:510,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 516
    functionName: tcmalloc_internal::Bitmap<N>::FindValue
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT_LT
    - absl::countr_zero
    - static_cast<size_t>
    - ASSUME
    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:521,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:524,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:527,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:539,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker.h:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 542
    functionName: tcmalloc_internal::Bitmap<N>::FindValueBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    functionUses: 4
    functionsReached:
    - absl::bit_width
    - TC_ASSERT_LT
    - static_cast<size_t>
    - ASSUME
    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:
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - std::min
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - ParseCpulist
    - testing::Ne
    - absl::string_view::data
    - absl::optional::Count
    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:
    - absl::StrCat
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Ne
    - std::min
    - absl::optional::Count
    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:
    - absl::StrCat
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Eq
    - std::min
    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:
    - memcpy
    - absl::StrJoin
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - testing::Ne
    - absl::StrCat
    - CpuSet::data
    - EXPECT_TRUE
    - ParseCpulist
    - std::vector::push_back
    - absl::string_view::data
    - std::min
    - CpuSet::Zero
    - CpuSet::Set
    - ASSERT_THAT
    - absl::Bernoulli
    - absl::Uniform
    - absl::optional::data
    - CPU_EQUAL_S
    - CpuSet::IsSet
    - static_cast<size_t>
    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:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    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:
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - 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:
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - std::min
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - ParseCpulist
    - testing::Ne
    - absl::string_view::data
    - absl::optional::Count
    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:
    - absl::StrCat
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Ne
    - std::min
    - absl::optional::Count
    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:
    - absl::StrCat
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Eq
    - std::min
    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:
    - memcpy
    - absl::StrJoin
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - testing::Ne
    - absl::StrCat
    - CpuSet::data
    - EXPECT_TRUE
    - ParseCpulist
    - std::vector::push_back
    - absl::string_view::data
    - std::min
    - CpuSet::Zero
    - CpuSet::Set
    - ASSERT_THAT
    - absl::Bernoulli
    - absl::Uniform
    - absl::optional::data
    - CPU_EQUAL_S
    - CpuSet::IsSet
    - static_cast<size_t>
    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:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    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:
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - 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:
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - std::min
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - ParseCpulist
    - testing::Ne
    - absl::string_view::data
    - absl::optional::Count
    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:
    - absl::StrCat
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Ne
    - std::min
    - absl::optional::Count
    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:
    - absl::StrCat
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Eq
    - std::min
    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:
    - memcpy
    - absl::StrJoin
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - testing::Ne
    - absl::StrCat
    - CpuSet::data
    - EXPECT_TRUE
    - ParseCpulist
    - std::vector::push_back
    - absl::string_view::data
    - std::min
    - CpuSet::Zero
    - CpuSet::Set
    - ASSERT_THAT
    - absl::Bernoulli
    - absl::Uniform
    - absl::optional::data
    - CPU_EQUAL_S
    - CpuSet::IsSet
    - static_cast<size_t>
    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:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    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:
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - 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:
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - std::min
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - ParseCpulist
    - testing::Ne
    - absl::string_view::data
    - absl::optional::Count
    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:
    - absl::StrCat
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Ne
    - std::min
    - absl::optional::Count
    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:
    - absl::StrCat
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Eq
    - std::min
    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:
    - memcpy
    - absl::StrJoin
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - testing::Ne
    - absl::StrCat
    - CpuSet::data
    - EXPECT_TRUE
    - ParseCpulist
    - std::vector::push_back
    - absl::string_view::data
    - std::min
    - CpuSet::Zero
    - CpuSet::Set
    - ASSERT_THAT
    - absl::Bernoulli
    - absl::Uniform
    - absl::optional::data
    - CPU_EQUAL_S
    - CpuSet::IsSet
    - static_cast<size_t>
    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:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    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:
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - 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:
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - std::min
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - ParseCpulist
    - testing::Ne
    - absl::string_view::data
    - absl::optional::Count
    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:
    - absl::StrCat
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Ne
    - std::min
    - absl::optional::Count
    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:
    - absl::StrCat
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Eq
    - std::min
    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:
    - memcpy
    - absl::StrJoin
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - testing::Ne
    - absl::StrCat
    - CpuSet::data
    - EXPECT_TRUE
    - ParseCpulist
    - std::vector::push_back
    - absl::string_view::data
    - std::min
    - CpuSet::Zero
    - CpuSet::Set
    - ASSERT_THAT
    - absl::Bernoulli
    - absl::Uniform
    - absl::optional::data
    - CPU_EQUAL_S
    - CpuSet::IsSet
    - static_cast<size_t>
    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:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    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:
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - 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:
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - std::min
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - ParseCpulist
    - testing::Ne
    - absl::string_view::data
    - absl::optional::Count
    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:
    - absl::StrCat
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Ne
    - std::min
    - absl::optional::Count
    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:
    - absl::StrCat
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Eq
    - std::min
    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:
    - memcpy
    - absl::StrJoin
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - testing::Ne
    - absl::StrCat
    - CpuSet::data
    - EXPECT_TRUE
    - ParseCpulist
    - std::vector::push_back
    - absl::string_view::data
    - std::min
    - CpuSet::Zero
    - CpuSet::Set
    - ASSERT_THAT
    - absl::Bernoulli
    - absl::Uniform
    - absl::optional::data
    - CPU_EQUAL_S
    - CpuSet::IsSet
    - static_cast<size_t>
    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:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    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:
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - 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:
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - std::min
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - ParseCpulist
    - testing::Ne
    - absl::string_view::data
    - absl::optional::Count
    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:
    - absl::StrCat
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Ne
    - std::min
    - absl::optional::Count
    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:
    - absl::StrCat
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Eq
    - std::min
    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:
    - memcpy
    - absl::StrJoin
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - testing::Ne
    - absl::StrCat
    - CpuSet::data
    - EXPECT_TRUE
    - ParseCpulist
    - std::vector::push_back
    - absl::string_view::data
    - std::min
    - CpuSet::Zero
    - CpuSet::Set
    - ASSERT_THAT
    - absl::Bernoulli
    - absl::Uniform
    - absl::optional::data
    - CPU_EQUAL_S
    - CpuSet::IsSet
    - static_cast<size_t>
    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:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    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:
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - 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:
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - std::min
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - ParseCpulist
    - testing::Ne
    - absl::string_view::data
    - absl::optional::Count
    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:
    - absl::StrCat
    - EXPECT_EQ
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Ne
    - std::min
    - absl::optional::Count
    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:
    - absl::StrCat
    - ASSERT_THAT
    - memcpy
    - ParseCpulist
    - std::string::size
    - std::string::data
    - std::string::erase
    - testing::Eq
    - std::min
    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:
    - memcpy
    - absl::StrJoin
    - absl::string_view::remove_prefix
    - absl::string_view::size
    - testing::Ne
    - absl::StrCat
    - CpuSet::data
    - EXPECT_TRUE
    - ParseCpulist
    - std::vector::push_back
    - absl::string_view::data
    - std::min
    - CpuSet::Zero
    - CpuSet::Set
    - ASSERT_THAT
    - absl::Bernoulli
    - absl::Uniform
    - absl::optional::data
    - CPU_EQUAL_S
    - CpuSet::IsSet
    - static_cast<size_t>
    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:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    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:
    - tcmalloc_internal::NumCPUs
    - EXPECT_EQ
    - 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: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    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:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    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: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    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:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    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: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    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:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    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: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    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:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    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
    - IsFast
    - EXPECT_EQ
    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
    - IsFast
    - EXPECT_EQ
    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
    - IsFast
    - EXPECT_EQ
    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
    - IsFast
    - EXPECT_EQ
    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:
    - ASSUME
    - ABSL_HAVE_CPP_ATTRIBUTE
    - ABSL_HAVE_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: 63
    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: 63
    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: 63
    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: 63
    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: 64
    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: 64
    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: 64
    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: 64
    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:188,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:223,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    - Dst: get
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:357,1
    - Dst: __tsan_acquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:364,1
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:371,1
    - Dst: __tsan_release
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:378,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 389
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - get
    - GetRealCpuUnsafe
    - sched_getcpu
    - GetRseqVcpuMode
    - ABSL_PREDICT_FALSE
    - __tsan_acquire
    - __tsan_release
    - InitFastPerCpu
    - ABSL_PREDICT_TRUE
    - TC_ASSERT_GE
    - std::atomic_thread_fence
    - static_cast<unsigned>
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - sched_getcpu
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetThreadSamplerAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    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:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - sched_getcpu
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetThreadSamplerAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    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:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - sched_getcpu
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetThreadSamplerAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    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:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - sched_getcpu
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetThreadSamplerAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    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:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - sched_getcpu
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetThreadSamplerAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    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:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - sched_getcpu
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetThreadSamplerAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    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:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - sched_getcpu
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetThreadSamplerAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    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:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:231,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:237,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:242,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: tcmalloc_internal::subtle::percpu::GetRealCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - sched_getcpu
    - TC_ASSERT_GE
    - ABSL_PREDICT_TRUE
    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: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: tcmalloc_internal::subtle::percpu::GetThreadSamplerAddress
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetThreadSamplerAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:286,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT_GE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::get
    linkageType: ''
    returnType: int
    signature: int GetAfterSynchronize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:310,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:312,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:314,1
    - Dst: tcmalloc_internal::subtle::percpu::InitFastPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: tcmalloc_internal::subtle::percpu::IsFast
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 229
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - tcmalloc_internal::subtle::percpu::InitFastPerCpu
    - ABSL_PREDICT_FALSE
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:329,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: tcmalloc_internal::subtle::percpu::IsFastNoInit
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.h
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - ABSL_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool IsFastNoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    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:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - batch
    - n
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:58,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:59,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:61,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:84,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:85,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:87,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:88,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:97,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:98,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:99,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:101,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 122
    functionName: namespace tcmalloc::tcmalloc_internal::system_allocator_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - reinterpret_cast<void*>
    - GetPageSize
    - mmap
    - TC_CHECK_GT
    - IsExperimentActive
    - absl::base_internal::LowLevelCallOnce
    - munmap
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace tcmalloc::tcmalloc_internal::system_allocator_internal
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:58,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:59,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: preferential_collapse
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.cc
    functionUses: 7
    functionsReached:
    - IsExperimentActive
    - absl::base_internal::LowLevelCallOnce
    linkageType: ''
    returnType: bool
    signature: bool preferential_collapse()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:84,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:85,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:87,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:88,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:97,1
    - Dst: TC_CHECK_GT
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:98,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:99,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:101,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:109,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:111,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/system_allocator.cc:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 120
    functionName: MapFixedNoReplaceFlagAvailable
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/system_allocator.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - reinterpret_cast<void*>
    - GetPageSize
    - TC_CHECK_GT
    - mmap
    - absl::base_internal::LowLevelCallOnce
    - munmap
    linkageType: ''
    returnType: int
    signature: int MapFixedNoReplaceFlagAvailable()
  - 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:
    - data
    - thread_safe_getenv
    - absl::ascii_tolower
    - absl::string_view::size
    - TCMalloc_Internal_SetProfileSamplingInterval
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - abort
    - close
    - std::atomic::load
    - Crash
    - absl::string_view::data
    - fileno
    - std::min
    - TC_LOG
    - open
    - size
    - std::atomic::store
    - tcmalloc_internal::signal_safe_write
    - empty
    - TCMalloc_Internal_GetStats
    - Append
    - PrintStackTrace
    - write
    - RecordBazelWarning
    - absl::GetStackTraceWithContext
    - absl::SNPrintF
    - RecordTestFailure
    - TC_ASSERT
    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:
    - open
    - close
    - absl::string_view::size
    - write
    - absl::string_view::data
    - tcmalloc_internal::thread_safe_getenv
    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:
    - open
    - absl::ascii_tolower
    - close
    - absl::string_view::size
    - write
    - absl::string_view::data
    - tcmalloc_internal::thread_safe_getenv
    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::RecordTestFailure
    - absl::string_view::empty
    - tcmalloc_internal::RecordBazelWarning
    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: 6
    functionLinenumber: 146
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::Crash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - abort
    - tcmalloc_internal::TCMalloc_Internal_GetStats
    - tcmalloc_internal::min
    - TCMalloc_Internal_SetProfileSamplingInterval
    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: 7
    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: 7
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::CrashWithOOM
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - absl::SNPrintF
    - tcmalloc_internal::Crash
    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:
    - load
    - Append
    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:
    - load
    - Append
    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:
    - load
    - Append
    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:
    - open
    - close
    - absl::string_view::size
    - write
    - absl::string_view::data
    - tcmalloc_internal::thread_safe_getenv
    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:
    - open
    - absl::ascii_tolower
    - close
    - absl::string_view::size
    - write
    - absl::string_view::data
    - tcmalloc_internal::thread_safe_getenv
    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::RecordTestFailure
    - absl::string_view::empty
    - tcmalloc_internal::RecordBazelWarning
    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: 6
    functionLinenumber: 146
    functionLinenumberEnd: 183
    functionName: tcmalloc_internal::Crash
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - abort
    - tcmalloc_internal::TCMalloc_Internal_GetStats
    - tcmalloc_internal::min
    - TCMalloc_Internal_SetProfileSamplingInterval
    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: 7
    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: 7
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: tcmalloc_internal::CrashWithOOM
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.cc
    functionUses: 2
    functionsReached:
    - absl::SNPrintF
    - tcmalloc_internal::Crash
    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:
    - load
    - Append
    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:
    - load
    - Append
    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:
    - load
    - Append
    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:122,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:125,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:125,1
    - Dst: CheckFailed
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:128,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:128,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:143,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:144,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:144,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:148,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:219,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:236,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:238,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:245,1
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:264,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:273,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:274,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:281,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:291,1
    - Dst: AppendPieces
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:292,1
    - Dst: static_cast<const absl::AlphaNum&>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:292,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:300,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:309,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:314,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 356
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - CheckFailed
    - AllocationGuard::AllocationGuard
    - size
    - data
    - AppendPieces
    - memcpy
    - static_cast<const absl::AlphaNum&>
    - std::min<size_t>
    - absl::SNPrintF
    - has_value
    - static_cast<size_t>
    - absl::Format
    - absl::base_internal::GetTID
    - TC_ASSERT_GT
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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:122,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:125,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:125,1
    - Dst: tcmalloc_internal::CheckFailed
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:128,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:128,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: 129
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::CheckFailed
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 1
    functionsReached:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::CheckFailed
    - std::min<size_t>
    - absl::SNPrintF
    - absl::base_internal::GetTID
    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:143,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:144,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:144,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - absl::FormatSpec<int, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::LogImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::GetTID
    - std::min<size_t>
    - 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: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: TC_BUG
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 61
    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: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: TC_CHECK
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 125
    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: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: TC_CHECK_EQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 106
    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: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: TC_CHECK_NE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 105
    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: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: TC_CHECK_LT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 33
    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: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: TC_CHECK_LE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 71
    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: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: TC_CHECK_GT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 43
    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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    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: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: TC_ASSERT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 254
    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: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: TC_ASSERT_EQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 202
    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: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: TC_ASSERT_NE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 126
    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: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    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: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: TC_ASSERT_LE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 113
    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: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: TC_ASSERT_GT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 119
    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: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: TC_ASSERT_GE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 155
    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: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    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: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - PtrFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 8
    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: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    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:236,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - OptionalFormatter<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 8
    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:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    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: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    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: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    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: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    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:273,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:274,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - absl::FormatSpec<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 287
    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:291,1
    - Dst: tcmalloc_internal::Printer::AppendPieces
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:292,1
    - Dst: static_cast<const absl::AlphaNum&>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: tcmalloc_internal::Printer::Append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::Printer::AppendPieces
    - static_cast<const absl::AlphaNum&>
    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: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    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:300,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:309,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:314,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pieces
    argTypes:
    - std::initializer_list<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::Printer::AppendPieces
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 1
    functionsReached:
    - size
    - memcpy
    - data
    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: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    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: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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:122,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:125,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:125,1
    - Dst: tcmalloc_internal::CheckFailed
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:128,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:128,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: 129
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::CheckFailed
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 2
    functionsReached:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::CheckFailed
    - std::min<size_t>
    - absl::SNPrintF
    - absl::base_internal::GetTID
    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:143,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:144,1
    - Dst: absl::base_internal::GetTID
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:144,1
    - Dst: std::min<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - absl::FormatSpec<int, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: tcmalloc_internal::LogImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - absl::base_internal::GetTID
    - std::min<size_t>
    - 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: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: TC_BUG
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 61
    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: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: TC_CHECK
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 125
    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: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: TC_CHECK_EQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 106
    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: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: TC_CHECK_NE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 105
    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: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: TC_CHECK_LT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 33
    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: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: TC_CHECK_LE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 71
    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: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: TC_CHECK_GT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 43
    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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    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: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: TC_ASSERT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 254
    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: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: TC_ASSERT_EQ
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 202
    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: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: TC_ASSERT_NE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 126
    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: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    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: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: TC_ASSERT_LE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 113
    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: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: TC_ASSERT_GT
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 120
    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: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: TC_ASSERT_GE
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 155
    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: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    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: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - PtrFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 8
    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: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    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:236,1
    - Dst: absl::Format
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' sink'
    - ' p'
    argTypes:
    - Sink
    - OptionalFormatter<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: tcmalloc_internal::AbslStringify
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 8
    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:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    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: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    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: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    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: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    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:273,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:274,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - absl::FormatSpec<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 287
    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:291,1
    - Dst: tcmalloc_internal::Printer::AppendPieces
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:292,1
    - Dst: static_cast<const absl::AlphaNum&>
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: tcmalloc_internal::Printer::Append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - tcmalloc_internal::Printer::AppendPieces
    - static_cast<const absl::AlphaNum&>
    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: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    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:300,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:309,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:314,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/logging.h:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pieces
    argTypes:
    - std::initializer_list<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 319
    functionName: tcmalloc_internal::Printer::AppendPieces
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/logging.h
    functionUses: 2
    functionsReached:
    - size
    - memcpy
    - data
    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: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    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: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    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:135,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:149,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:156,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:157,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:165,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:166,1
    - Dst: T*::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:189,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:189,1
    - Dst: PopDead
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:196,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:196,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:199,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:199,1
    - Dst: PushNew
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    - Dst: PushDead
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:208,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:214,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:215,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:220,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:232,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:236,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 243
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - exchange
    - load
    - PopDead
    - std::forward<Targs>
    - PushNew
    - PushDead
    - f
    - dispose
    - New
    - T*::PrepareForSampling
    - Delete
    - compare_exchange_weak
    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: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    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: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    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: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    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: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    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:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - DisposeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    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: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    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:156,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - load
    - compare_exchange_weak
    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:165,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    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:189,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - std::forward<Targs>
    - T*::PrepareForSampling
    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:196,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:196,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:199,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:199,1
    - Dst: tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - New
    - std::forward<Targs>
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
    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:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    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:214,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:215,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 227
    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:232,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - absl::FunctionRef<void(const T& sample)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    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: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    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: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    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: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    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: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    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:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - DisposeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    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: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:146,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    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:156,1
    - Dst: compare_exchange_weak
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 1
    functionsReached:
    - load
    - compare_exchange_weak
    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:165,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    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:189,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 1
    functionsReached:
    - std::forward<Targs>
    - T*::PrepareForSampling
    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:196,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:196,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:199,1
    - Dst: std::forward<Targs>
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:199,1
    - Dst: tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: tcmalloc_internal::SampleRecorder<T, Allocator>::Register
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h
    functionUses: 0
    functionsReached:
    - New
    - std::forward<Targs>
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PushNew
    - tcmalloc_internal::SampleRecorder<T, Allocator>::PopDead
    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:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    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:214,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:215,1
    - Dst: dispose
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 227
    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:232,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_recorder.h:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - absl::FunctionRef<void(const T& sample)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    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:
    - open
    - memmove
    - sscanf
    - strlen
    - getpid
    - memset
    - TC_CHECK_LT
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - memchr
    - close
    - absl::SNPrintF
    - makedev
    - static_cast<char*>
    - 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:
    - open
    - getpid
    - TC_CHECK_LT
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - 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:
    - memmove
    - sscanf
    - strlen
    - memset
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - memchr
    - makedev
    - static_cast<char*>
    - 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:
    - open
    - getpid
    - TC_CHECK_LT
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - 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:
    - memmove
    - sscanf
    - strlen
    - memset
    - TCMALLOC_RETRY_ON_TEMP_FAILURE
    - memchr
    - makedev
    - static_cast<char*>
    - 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:
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - initialize_unique_stack_trace
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::contains
    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:
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - ASSERT_NE
    - reinterpret_cast<uint64_t>
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::contains
    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:
    - EXPECT_FALSE
    - DefaultFilter::Contains
    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_FALSE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    - EXPECT_EQ
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    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
    - StackTraceFilter::Add
    - EXPECT_FALSE
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::Decay
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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:
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    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:
    - EXPECT_FALSE
    - DefaultFilter::Contains
    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_FALSE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    - EXPECT_EQ
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    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
    - StackTraceFilter::Add
    - EXPECT_FALSE
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::Decay
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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:
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    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:
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - initialize_unique_stack_trace
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::contains
    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:
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - ASSERT_NE
    - reinterpret_cast<uint64_t>
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::contains
    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:
    - EXPECT_FALSE
    - DefaultFilter::Contains
    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_FALSE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    - EXPECT_EQ
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    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
    - StackTraceFilter::Add
    - EXPECT_FALSE
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::Decay
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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:
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    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:
    - EXPECT_FALSE
    - DefaultFilter::Contains
    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_FALSE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    - EXPECT_EQ
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    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
    - StackTraceFilter::Add
    - EXPECT_FALSE
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::Decay
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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:
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    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:
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - initialize_unique_stack_trace
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::contains
    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:
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - ASSERT_NE
    - reinterpret_cast<uint64_t>
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::contains
    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:
    - EXPECT_FALSE
    - DefaultFilter::Contains
    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_FALSE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    - EXPECT_EQ
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    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
    - StackTraceFilter::Add
    - EXPECT_FALSE
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::Decay
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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:
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    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:
    - EXPECT_FALSE
    - DefaultFilter::Contains
    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_FALSE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    - EXPECT_EQ
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    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
    - StackTraceFilter::Add
    - EXPECT_FALSE
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::Decay
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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:
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    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:
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - initialize_unique_stack_trace
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - ASSERT_NE
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::contains
    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:
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - tcmalloc_internal::StackTraceFilter::GetFirstHash
    - ASSERT_NE
    - reinterpret_cast<uint64_t>
    - tcmalloc::tcmalloc_internal::StackTraceFilterTest::GetFirstIndex
    - absl::flat_hash_set::contains
    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:
    - EXPECT_FALSE
    - DefaultFilter::Contains
    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_FALSE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    - EXPECT_EQ
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    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
    - StackTraceFilter::Add
    - EXPECT_FALSE
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::Decay
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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:
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    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:
    - EXPECT_FALSE
    - DefaultFilter::Contains
    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_FALSE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    - EXPECT_EQ
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - InitializeColliderStackTrace
    - DefaultFilter::Add
    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
    - StackTraceFilter::Add
    - EXPECT_FALSE
    - EXPECT_TRUE
    - InitializeColliderStackTrace
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    - DefaultFilter::Decay
    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_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Add
    - DefaultFilter::Contains
    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:
    - DefaultFilter::DecayAll
    - EXPECT_FALSE
    - EXPECT_TRUE
    - DefaultFilter::Contains
    - DefaultFilter::Add
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecayingStackTraceFilterTest, DecayAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/residency.h:76,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/residency.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 141
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached:
    - GetPageSize
    - __builtin_trap
    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:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/residency.h:76,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - 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::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: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    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:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/residency.h:76,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/residency.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - 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::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: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/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: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: MetadataAllocator::MetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/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: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~MetadataAllocator()
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/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: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: MetadataAllocator::MetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/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: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: MetadataAllocator::MetadataAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/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: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const MetadataAllocator&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/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: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(MetadataAllocator&&)'
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MetadataAllocator
    signature: MetadataAllocator & operator=(MetadataAllocator&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: operator()(size_t bytes)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/metadata_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(size_t bytes)
  - 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:
    - data
    - CPU_ZERO_S
    - CPU_SET_S
    - Count
    - CPU_COUNT_S
    - CPU_ISSET_S
    - sched_setaffinity
    - IsSet
    - sched_getaffinity
    - CPU_CLR_S
    - CPU_ALLOC_SIZE
    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:
    - CPU_SET_S
    - tcmalloc_internal::CpuSet::data
    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:
    - tcmalloc_internal::CpuSet::data
    - CPU_CLR_S
    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::Count
    - tcmalloc_internal::CpuSet::IsSet
    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:
    - tcmalloc_internal::CpuSet::data
    - sched_setaffinity
    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:
    - CPU_SET_S
    - tcmalloc_internal::CpuSet::data
    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:
    - tcmalloc_internal::CpuSet::data
    - CPU_CLR_S
    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::Count
    - tcmalloc_internal::CpuSet::IsSet
    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:
    - tcmalloc_internal::CpuSet::data
    - sched_setaffinity
    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: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:48,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:48,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: freq
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:51,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:52,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:54,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:55,1
    - Dst: UpdateClock
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:79,1
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:97,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:97,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:98,1
    - Dst: GetCurrentEpoch
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:120,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:124,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:136,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:148,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:149,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:162,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:163,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:165,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:174,1
    - Dst: UpdateClock
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:180,1
    - Dst: Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 186
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - static_cast<int64_t>
    - freq
    - absl::ZeroDuration
    - absl::bit_width
    - UpdateClock
    - GetCurrentEpoch
    - static_cast<absl::uint128>
    - TC_ASSERT_LE
    - empty
    - f
    - TC_ASSERT_GE
    - now
    - static_cast<uint64_t>
    - Report
    - std::min
    - TC_ASSERT_GT
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:48,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:48,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: Clock::freq
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:51,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:52,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:54,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clock
    - w
    argTypes:
    - Clock
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::TimeSeriesTracker::TimeSeriesTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - Clock::freq
    - absl::bit_width
    - absl::ZeroDuration
    - static_cast<absl::uint128>
    - static_cast<uint64_t>
    - TC_ASSERT_GT
    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:79,1
    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::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:97,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:97,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::TimeSeriesTracker::GetCurrentEpoch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - now
    - static_cast<int64_t>
    - static_cast<absl::uint128>
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetCurrentEpoch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentEpoch
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:120,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:124,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - std::min
    - GetCurrentEpoch
    linkageType: ''
    returnType: bool
    signature: bool TimeSeriesTracker<T, S, kEpochs>::UpdateClock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:148,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:149,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: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - empty
    - f
    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_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:162,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:163,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - f
    - num_epochs
    argTypes:
    - absl::FunctionRef<void(size_t, const T&)>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::IterBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - f
    - TC_ASSERT_LE
    - TC_ASSERT_GE
    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:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    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:180,1
    - Dst: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 183
    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>::UpdateClock
    - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
    linkageType: ''
    returnType: bool
    signature: bool TimeSeriesTracker<T, S, kEpochs>::Report(const S& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:48,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:48,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: absl::ToDoubleSeconds
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:50,1
    - Dst: Clock::freq
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:51,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:52,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:54,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clock
    - w
    argTypes:
    - Clock
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: tcmalloc_internal::TimeSeriesTracker::TimeSeriesTracker
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - absl::ToDoubleSeconds
    - Clock::freq
    - absl::bit_width
    - absl::ZeroDuration
    - static_cast<absl::uint128>
    - static_cast<uint64_t>
    - TC_ASSERT_GT
    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:79,1
    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::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:97,1
    - Dst: static_cast<absl::uint128>
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:97,1
    - Dst: now
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: tcmalloc_internal::TimeSeriesTracker::GetCurrentEpoch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - now
    - static_cast<int64_t>
    - static_cast<absl::uint128>
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetCurrentEpoch()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentEpoch
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:120,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:124,1
    - Dst: tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::UpdateClock
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::SkippedSubreleaseCorrectnessTracker::Nil
    - std::min
    - GetCurrentEpoch
    linkageType: ''
    returnType: bool
    signature: bool TimeSeriesTracker<T, S, kEpochs>::UpdateClock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:148,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:149,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: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Iter
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - empty
    - f
    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_GE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:162,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:163,1
    - Dst: f
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - f
    - num_epochs
    argTypes:
    - absl::FunctionRef<void(size_t, const T&)>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::IterBackwards
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h
    functionUses: 0
    functionsReached:
    - f
    - TC_ASSERT_LE
    - TC_ASSERT_GE
    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:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    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:180,1
    - Dst: tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
      Src: /src/tcmalloc/tcmalloc/internal/timeseries_tracker.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 183
    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>::UpdateClock
    - tcmalloc_internal::TimeSeriesTracker<T, S, kEpochs>::Report
    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:
    - std::array::data
    - absl::string_view::size
    - absl::string_view::empty
    - read
    - memmove
    - signal_safe_close
    - ParseCpulist
    - CpuSet::Zero
    - std::optional::value_or
    - CpuSet::Set
    - IsInBounds
    - signal_safe_read
    - std::optional::has_value
    - absl::string_view::find
    - std::array::size
    - absl::SimpleAtoi
    - std::max
    - signal_safe_open
    - std::optional::IsSet
    - ABSL_PREDICT_FALSE
    - absl::string_view::substr
    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:
    - CpuSet::Set
    - memmove
    - tcmalloc_internal::IsInBounds
    - ABSL_PREDICT_FALSE
    - std::array::data
    - absl::string_view::find
    - absl::string_view::size
    - std::array::size
    - absl::SimpleAtoi
    - CpuSet::Zero
    - absl::string_view::substr
    - absl::string_view::empty
    - read
    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:
    - std::optional::IsSet
    - signal_safe_read
    - signal_safe_close
    - std::optional::has_value
    - ParseCpulist
    - std::max
    - signal_safe_open
    - std::optional::value_or
    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:
    - std::optional::IsSet
    - signal_safe_read
    - signal_safe_close
    - std::optional::has_value
    - ParseCpulist
    - std::max
    - signal_safe_open
    - std::optional::value_or
    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:
    - CpuSet::Set
    - memmove
    - tcmalloc_internal::IsInBounds
    - ABSL_PREDICT_FALSE
    - std::array::data
    - absl::string_view::find
    - absl::string_view::size
    - std::array::size
    - absl::SimpleAtoi
    - CpuSet::Zero
    - absl::string_view::substr
    - absl::string_view::empty
    - read
    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:
    - std::optional::IsSet
    - signal_safe_read
    - signal_safe_close
    - std::optional::has_value
    - ParseCpulist
    - std::max
    - signal_safe_open
    - std::optional::value_or
    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:
    - std::optional::IsSet
    - signal_safe_read
    - signal_safe_close
    - std::optional::has_value
    - ParseCpulist
    - std::max
    - signal_safe_open
    - std::optional::value_or
    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:
    - load
    - store
    - T
    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:
    - load
    - store
    - T
    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:
    - load
    - store
    - T
    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:
    - load
    - T
    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::push_back
    - Iterate
    - std::vector::reserve
    - size::load
    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:
    - assert
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - 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:
    - Unregister
    - EXPECT_TRUE
    - 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:
    - EXPECT_THAT
    - Register
    - Unregister
    - UnorderedElementsAre
    - auto*::size::store
    - GetSizes
    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:
    - EXPECT_EQ
    - alloc_count
    - IsEmpty
    - Unregister
    - UnregisterAll
    - EXPECT_THAT
    - Register
    - std::vector::push_back
    - UnorderedElementsAre
    - GetSizes
    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:
    - SampleRecorder::Register
    - SampleRecorder::UnregisterAll
    - absl::ZeroDuration
    - Iterate
    - ThreadManager::Start
    - std::vector::pop_back
    - ASSERT_GE
    - absl::Notification::Notify
    - ThreadManager::Stop
    - absl::Now
    - Register
    - std::vector::push_back
    - ASSERT_TRUE
    - Unregister
    - SampleRecorder::Iterate
    - absl::SleepFor
    - std::vector::back
    - std::vector::size
    - std::max
    - absl::Notification::HasBeenNotified
    - std::uniform_int_distribution<>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    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:
    - EXPECT_EQ
    - Unregister
    - 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:
    - EXPECT_TRUE
    - SampleRecorder::Unregister
    - EXPECT_THAT
    - SampleRecorder::Register
    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::push_back
    - Iterate
    - std::vector::reserve
    - size::load
    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:
    - assert
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - 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:
    - Unregister
    - EXPECT_TRUE
    - 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:
    - EXPECT_THAT
    - Register
    - Unregister
    - UnorderedElementsAre
    - auto*::size::store
    - GetSizes
    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:
    - EXPECT_EQ
    - alloc_count
    - IsEmpty
    - Unregister
    - UnregisterAll
    - EXPECT_THAT
    - Register
    - std::vector::push_back
    - UnorderedElementsAre
    - GetSizes
    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:
    - SampleRecorder::Register
    - SampleRecorder::UnregisterAll
    - absl::ZeroDuration
    - Iterate
    - ThreadManager::Start
    - std::vector::pop_back
    - ASSERT_GE
    - absl::Notification::Notify
    - ThreadManager::Stop
    - absl::Now
    - Register
    - std::vector::push_back
    - ASSERT_TRUE
    - Unregister
    - SampleRecorder::Iterate
    - absl::SleepFor
    - std::vector::back
    - std::vector::size
    - std::max
    - absl::Notification::HasBeenNotified
    - std::uniform_int_distribution<>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    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:
    - EXPECT_EQ
    - Unregister
    - 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:
    - EXPECT_TRUE
    - SampleRecorder::Unregister
    - EXPECT_THAT
    - SampleRecorder::Register
    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::push_back
    - Iterate
    - std::vector::reserve
    - size::load
    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:
    - assert
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - 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:
    - Unregister
    - EXPECT_TRUE
    - 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:
    - EXPECT_THAT
    - Register
    - Unregister
    - UnorderedElementsAre
    - auto*::size::store
    - GetSizes
    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:
    - EXPECT_EQ
    - alloc_count
    - IsEmpty
    - Unregister
    - UnregisterAll
    - EXPECT_THAT
    - Register
    - std::vector::push_back
    - UnorderedElementsAre
    - GetSizes
    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:
    - SampleRecorder::Register
    - SampleRecorder::UnregisterAll
    - absl::ZeroDuration
    - Iterate
    - ThreadManager::Start
    - std::vector::pop_back
    - ASSERT_GE
    - absl::Notification::Notify
    - ThreadManager::Stop
    - absl::Now
    - Register
    - std::vector::push_back
    - ASSERT_TRUE
    - Unregister
    - SampleRecorder::Iterate
    - absl::SleepFor
    - std::vector::back
    - std::vector::size
    - std::max
    - absl::Notification::HasBeenNotified
    - std::uniform_int_distribution<>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    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:
    - EXPECT_EQ
    - Unregister
    - 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:
    - EXPECT_TRUE
    - SampleRecorder::Unregister
    - EXPECT_THAT
    - SampleRecorder::Register
    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::push_back
    - Iterate
    - std::vector::reserve
    - size::load
    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:
    - assert
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - 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:
    - Unregister
    - EXPECT_TRUE
    - 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:
    - EXPECT_THAT
    - Register
    - Unregister
    - UnorderedElementsAre
    - auto*::size::store
    - GetSizes
    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:
    - EXPECT_EQ
    - alloc_count
    - IsEmpty
    - Unregister
    - UnregisterAll
    - EXPECT_THAT
    - Register
    - std::vector::push_back
    - UnorderedElementsAre
    - GetSizes
    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:
    - SampleRecorder::Register
    - SampleRecorder::UnregisterAll
    - absl::ZeroDuration
    - Iterate
    - ThreadManager::Start
    - std::vector::pop_back
    - ASSERT_GE
    - absl::Notification::Notify
    - ThreadManager::Stop
    - absl::Now
    - Register
    - std::vector::push_back
    - ASSERT_TRUE
    - Unregister
    - SampleRecorder::Iterate
    - absl::SleepFor
    - std::vector::back
    - std::vector::size
    - std::max
    - absl::Notification::HasBeenNotified
    - std::uniform_int_distribution<>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    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:
    - EXPECT_EQ
    - Unregister
    - 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:
    - EXPECT_TRUE
    - SampleRecorder::Unregister
    - EXPECT_THAT
    - SampleRecorder::Register
    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::push_back
    - Iterate
    - std::vector::reserve
    - size::load
    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:
    - assert
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - 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:
    - Unregister
    - EXPECT_TRUE
    - 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:
    - EXPECT_THAT
    - Register
    - Unregister
    - UnorderedElementsAre
    - auto*::size::store
    - GetSizes
    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:
    - EXPECT_EQ
    - alloc_count
    - IsEmpty
    - Unregister
    - UnregisterAll
    - EXPECT_THAT
    - Register
    - std::vector::push_back
    - UnorderedElementsAre
    - GetSizes
    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:
    - SampleRecorder::Register
    - SampleRecorder::UnregisterAll
    - absl::ZeroDuration
    - Iterate
    - ThreadManager::Start
    - std::vector::pop_back
    - ASSERT_GE
    - absl::Notification::Notify
    - ThreadManager::Stop
    - absl::Now
    - Register
    - std::vector::push_back
    - ASSERT_TRUE
    - Unregister
    - SampleRecorder::Iterate
    - absl::SleepFor
    - std::vector::back
    - std::vector::size
    - std::max
    - absl::Notification::HasBeenNotified
    - std::uniform_int_distribution<>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    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:
    - EXPECT_EQ
    - Unregister
    - 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:
    - EXPECT_TRUE
    - SampleRecorder::Unregister
    - EXPECT_THAT
    - SampleRecorder::Register
    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::push_back
    - Iterate
    - std::vector::reserve
    - size::load
    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:
    - assert
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - 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:
    - Unregister
    - EXPECT_TRUE
    - 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:
    - EXPECT_THAT
    - Register
    - Unregister
    - UnorderedElementsAre
    - auto*::size::store
    - GetSizes
    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:
    - EXPECT_EQ
    - alloc_count
    - IsEmpty
    - Unregister
    - UnregisterAll
    - EXPECT_THAT
    - Register
    - std::vector::push_back
    - UnorderedElementsAre
    - GetSizes
    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:
    - SampleRecorder::Register
    - SampleRecorder::UnregisterAll
    - absl::ZeroDuration
    - Iterate
    - ThreadManager::Start
    - std::vector::pop_back
    - ASSERT_GE
    - absl::Notification::Notify
    - ThreadManager::Stop
    - absl::Now
    - Register
    - std::vector::push_back
    - ASSERT_TRUE
    - Unregister
    - SampleRecorder::Iterate
    - absl::SleepFor
    - std::vector::back
    - std::vector::size
    - std::max
    - absl::Notification::HasBeenNotified
    - std::uniform_int_distribution<>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    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:
    - EXPECT_EQ
    - Unregister
    - 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:
    - EXPECT_TRUE
    - SampleRecorder::Unregister
    - EXPECT_THAT
    - SampleRecorder::Register
    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::push_back
    - Iterate
    - std::vector::reserve
    - size::load
    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:
    - assert
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - 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:
    - Unregister
    - EXPECT_TRUE
    - 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:
    - EXPECT_THAT
    - Register
    - Unregister
    - UnorderedElementsAre
    - auto*::size::store
    - GetSizes
    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:
    - EXPECT_EQ
    - alloc_count
    - IsEmpty
    - Unregister
    - UnregisterAll
    - EXPECT_THAT
    - Register
    - std::vector::push_back
    - UnorderedElementsAre
    - GetSizes
    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:
    - SampleRecorder::Register
    - SampleRecorder::UnregisterAll
    - absl::ZeroDuration
    - Iterate
    - ThreadManager::Start
    - std::vector::pop_back
    - ASSERT_GE
    - absl::Notification::Notify
    - ThreadManager::Stop
    - absl::Now
    - Register
    - std::vector::push_back
    - ASSERT_TRUE
    - Unregister
    - SampleRecorder::Iterate
    - absl::SleepFor
    - std::vector::back
    - std::vector::size
    - std::max
    - absl::Notification::HasBeenNotified
    - std::uniform_int_distribution<>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    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:
    - EXPECT_EQ
    - Unregister
    - 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:
    - EXPECT_TRUE
    - SampleRecorder::Unregister
    - EXPECT_THAT
    - SampleRecorder::Register
    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::push_back
    - Iterate
    - std::vector::reserve
    - size::load
    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:
    - assert
    - tcmalloc::tcmalloc_internal::SampleRecorderTest::Register
    - 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:
    - Unregister
    - EXPECT_TRUE
    - 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:
    - EXPECT_THAT
    - Register
    - Unregister
    - UnorderedElementsAre
    - auto*::size::store
    - GetSizes
    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:
    - EXPECT_EQ
    - alloc_count
    - IsEmpty
    - Unregister
    - UnregisterAll
    - EXPECT_THAT
    - Register
    - std::vector::push_back
    - UnorderedElementsAre
    - GetSizes
    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:
    - SampleRecorder::Register
    - SampleRecorder::UnregisterAll
    - absl::ZeroDuration
    - Iterate
    - ThreadManager::Start
    - std::vector::pop_back
    - ASSERT_GE
    - absl::Notification::Notify
    - ThreadManager::Stop
    - absl::Now
    - Register
    - std::vector::push_back
    - ASSERT_TRUE
    - Unregister
    - SampleRecorder::Iterate
    - absl::SleepFor
    - std::vector::back
    - std::vector::size
    - std::max
    - absl::Notification::HasBeenNotified
    - std::uniform_int_distribution<>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::vector::empty
    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:
    - EXPECT_EQ
    - Unregister
    - 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:
    - EXPECT_TRUE
    - SampleRecorder::Unregister
    - EXPECT_THAT
    - SampleRecorder::Register
    linkageType: ''
    returnType: void
    signature: void TEST(SampleRecorderWithParamTest, RegisterWithParam)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:73,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:94,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    - Dst: TestSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    - Dst: std::atomic_thread_fence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 420
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_LE
    - IsFastNoInit
    - InitPerCpu
    - TestSynchronize
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - ASSUME
    - NumCPUsMaybe
    - TC_CHECK_EQ
    - CompilerBarrier
    - NumCPUs
    - auto::has_value
    - GetRealCpuUnsafe
    - sched_getcpu
    - signal_safe_close
    - UsingRseqVirtualCpus
    - CpuSet::SetAffinity
    - SlowFence
    - CpuSet::Zero
    - std::atomic_thread_fence
    - absl::base_internal::LowLevelCallOnce
    - FenceAllCpus
    - SetAffinityOneCpu
    - CpuSet::Set
    - store
    - IsFast
    - TC_CHECK_GE
    - UpstreamRseqFenceCpu
    - signal_safe_read
    - TC_BUG
    - IsExperimentActive
    - getauxval
    - syscall
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - TC_CHECK
    - GetRseqVcpuMode
    - load
    - CpuSet::GetAffinity
    - tcmalloc_internal::max
    - ABSL_PREDICT_TRUE
    - NeedCpu
    - FenceInterruptCPU
    - InitThreadPerCpu
    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:73,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    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:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      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::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 9
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_GE
    - GetRealCpuUnsafe
    - GetRseqVcpuMode
    - TestSynchronize
    - TC_BUG
    - NumCPUs
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - TC_CHECK
    - TC_CHECK_LE
    - store
    - tcmalloc_internal::max
    - NumCPUsMaybe
    - getauxval
    - TC_CHECK_EQ
    - IsExperimentActive
    - syscall
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - TC_CHECK
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    - TC_CHECK_EQ
    - 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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - CpuSet::Set
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - sched_getcpu
    - TC_CHECK_GE
    - signal_safe_read
    - signal_safe_close
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::SetAffinity
    - TC_CHECK_EQ
    - std::atomic_thread_fence
    - signal_safe_open
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - load
    - TC_CHECK
    - syscall
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::SlowFence
    - TC_CHECK
    - 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:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - load
    - ASSUME
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:73,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    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:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      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::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 10
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_GE
    - GetRealCpuUnsafe
    - GetRseqVcpuMode
    - TestSynchronize
    - TC_BUG
    - NumCPUs
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - TC_CHECK
    - TC_CHECK_LE
    - store
    - tcmalloc_internal::max
    - NumCPUsMaybe
    - getauxval
    - TC_CHECK_EQ
    - IsExperimentActive
    - syscall
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - TC_CHECK
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    - TC_CHECK_EQ
    - 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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 1
    functionsReached:
    - CpuSet::Set
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - sched_getcpu
    - TC_CHECK_GE
    - signal_safe_read
    - signal_safe_close
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::SetAffinity
    - TC_CHECK_EQ
    - std::atomic_thread_fence
    - signal_safe_open
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - load
    - TC_CHECK
    - syscall
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::subtle::percpu::SlowFence
    - TC_CHECK
    - 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:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - load
    - ASSUME
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:73,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    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:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      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::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 11
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_GE
    - GetRealCpuUnsafe
    - GetRseqVcpuMode
    - TestSynchronize
    - TC_BUG
    - NumCPUs
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - TC_CHECK
    - TC_CHECK_LE
    - store
    - tcmalloc_internal::max
    - NumCPUsMaybe
    - getauxval
    - TC_CHECK_EQ
    - IsExperimentActive
    - syscall
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - TC_CHECK
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    - TC_CHECK_EQ
    - 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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 2
    functionsReached:
    - CpuSet::Set
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - sched_getcpu
    - TC_CHECK_GE
    - signal_safe_read
    - signal_safe_close
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::SetAffinity
    - TC_CHECK_EQ
    - std::atomic_thread_fence
    - signal_safe_open
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - load
    - TC_CHECK
    - syscall
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::subtle::percpu::SlowFence
    - TC_CHECK
    - 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:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - load
    - ASSUME
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:73,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    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:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      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::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 12
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_GE
    - GetRealCpuUnsafe
    - GetRseqVcpuMode
    - TestSynchronize
    - TC_BUG
    - NumCPUs
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - TC_CHECK
    - TC_CHECK_LE
    - store
    - tcmalloc_internal::max
    - NumCPUsMaybe
    - getauxval
    - TC_CHECK_EQ
    - IsExperimentActive
    - syscall
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - TC_CHECK
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    - TC_CHECK_EQ
    - 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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 3
    functionsReached:
    - CpuSet::Set
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - sched_getcpu
    - TC_CHECK_GE
    - signal_safe_read
    - signal_safe_close
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::SetAffinity
    - TC_CHECK_EQ
    - std::atomic_thread_fence
    - signal_safe_open
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - load
    - TC_CHECK
    - syscall
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::subtle::percpu::SlowFence
    - TC_CHECK
    - 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:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - load
    - ASSUME
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:73,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    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:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      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::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 13
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_GE
    - GetRealCpuUnsafe
    - GetRseqVcpuMode
    - TestSynchronize
    - TC_BUG
    - NumCPUs
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - TC_CHECK
    - TC_CHECK_LE
    - store
    - tcmalloc_internal::max
    - NumCPUsMaybe
    - getauxval
    - TC_CHECK_EQ
    - IsExperimentActive
    - syscall
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - TC_CHECK
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    - TC_CHECK_EQ
    - 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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 4
    functionsReached:
    - CpuSet::Set
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - sched_getcpu
    - TC_CHECK_GE
    - signal_safe_read
    - signal_safe_close
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::SetAffinity
    - TC_CHECK_EQ
    - std::atomic_thread_fence
    - signal_safe_open
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - load
    - TC_CHECK
    - syscall
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::SlowFence
    - TC_CHECK
    - 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:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - load
    - ASSUME
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:73,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    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:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      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::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 14
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_GE
    - GetRealCpuUnsafe
    - GetRseqVcpuMode
    - TestSynchronize
    - TC_BUG
    - NumCPUs
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - TC_CHECK
    - TC_CHECK_LE
    - store
    - tcmalloc_internal::max
    - NumCPUsMaybe
    - getauxval
    - TC_CHECK_EQ
    - IsExperimentActive
    - syscall
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - TC_CHECK
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    - TC_CHECK_EQ
    - 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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 5
    functionsReached:
    - CpuSet::Set
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - sched_getcpu
    - TC_CHECK_GE
    - signal_safe_read
    - signal_safe_close
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::SetAffinity
    - TC_CHECK_EQ
    - std::atomic_thread_fence
    - signal_safe_open
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 10
    functionsReached:
    - load
    - TC_CHECK
    - syscall
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 10
    functionsReached:
    - tcmalloc_internal::subtle::percpu::SlowFence
    - TC_CHECK
    - 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:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - load
    - ASSUME
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:73,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    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:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      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::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 15
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_GE
    - GetRealCpuUnsafe
    - GetRseqVcpuMode
    - TestSynchronize
    - TC_BUG
    - NumCPUs
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - TC_CHECK
    - TC_CHECK_LE
    - store
    - tcmalloc_internal::max
    - NumCPUsMaybe
    - getauxval
    - TC_CHECK_EQ
    - IsExperimentActive
    - syscall
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - TC_CHECK
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    - TC_CHECK_EQ
    - 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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 6
    functionsReached:
    - CpuSet::Set
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - sched_getcpu
    - TC_CHECK_GE
    - signal_safe_read
    - signal_safe_close
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::SetAffinity
    - TC_CHECK_EQ
    - std::atomic_thread_fence
    - signal_safe_open
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 12
    functionsReached:
    - load
    - TC_CHECK
    - syscall
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 12
    functionsReached:
    - tcmalloc_internal::subtle::percpu::SlowFence
    - TC_CHECK
    - 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:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - load
    - ASSUME
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    linkageType: ''
    returnType: void
    signature: void FenceAllCpus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:73,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:82,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    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:
    - Dst: tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
      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::UsingRseqVirtualCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRseqVcpuMode
    linkageType: ''
    returnType: bool
    signature: bool UsingRseqVirtualCpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:106,1
    - Dst: GetRseqVcpuMode
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:113,1
    - Dst: GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:118,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:122,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:123,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 16
    functionsReached:
    - TC_ASSERT_LT
    - TC_CHECK_GE
    - GetRealCpuUnsafe
    - GetRseqVcpuMode
    - TestSynchronize
    - TC_BUG
    - NumCPUs
    linkageType: ''
    returnType: int
    signature: int VirtualCpu::Synchronize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:132,1
    - Dst: auto::has_value
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:133,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:137,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:141,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:146,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:149,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:150,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:152,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:154,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:159,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:161,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:163,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:167,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:168,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:172,1
    - Dst: getauxval
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: tcmalloc_internal::subtle::percpu::InitPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - auto::has_value
    - TC_CHECK
    - TC_CHECK_LE
    - store
    - tcmalloc_internal::max
    - NumCPUsMaybe
    - getauxval
    - TC_CHECK_EQ
    - IsExperimentActive
    - syscall
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: void
    signature: void InitPerCpu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:203,1
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:206,1
    - Dst: tcmalloc_internal::subtle::percpu::InitPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:207,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:213,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:219,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    - Dst: tcmalloc_internal::subtle::percpu::InitThreadPerCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: tcmalloc_internal::subtle::percpu::InitFastPerCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - store
    - TC_CHECK
    - load
    - tcmalloc_internal::subtle::percpu::InitPerCpu
    - absl::base_internal::LowLevelCallOnce
    - tcmalloc_internal::subtle::percpu::InitThreadPerCpu
    linkageType: ''
    returnType: bool
    signature: bool InitFastPerCpu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:241,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:242,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:243,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - CpuSet::Set
    - CpuSet::Zero
    - TC_CHECK_EQ
    - 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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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:259,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:263,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: CpuSet::GetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:264,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:275,1
    - Dst: tcmalloc_internal::subtle::percpu::NeedCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:276,1
    - Dst: tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:282,1
    - Dst: sched_getcpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:287,1
    - Dst: signal_safe_open
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:324,1
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:325,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: signal_safe_read
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:328,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: signal_safe_close
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:329,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:332,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:333,1
    - Dst: CpuSet::Zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:339,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:340,1
    - Dst: CpuSet::Set
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:341,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    - Dst: CpuSet::SetAffinity
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: tcmalloc_internal::subtle::percpu::SlowFence
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 7
    functionsReached:
    - CpuSet::Set
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::NeedCpu
    - sched_getcpu
    - TC_CHECK_GE
    - signal_safe_read
    - signal_safe_close
    - CpuSet::GetAffinity
    - CpuSet::Zero
    - CpuSet::SetAffinity
    - TC_CHECK_EQ
    - std::atomic_thread_fence
    - signal_safe_open
    - tcmalloc_internal::subtle::percpu::SetAffinityOneCpu
    - NumCPUs
    linkageType: ''
    returnType: void
    signature: void SlowFence(int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:349,1
    - Dst: syscall
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:355,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 14
    functionsReached:
    - load
    - TC_CHECK
    - syscall
    linkageType: ''
    returnType: void
    signature: void UpstreamRseqFenceCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:367,1
    - Dst: tcmalloc_internal::subtle::percpu::SlowFence
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 14
    functionsReached:
    - tcmalloc_internal::subtle::percpu::SlowFence
    - TC_CHECK
    - 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:378,1
    - Dst: ABSL_PREDICT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFastNoInit
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:382,1
    - Dst: tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:386,1
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:387,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:391,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:398,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:399,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vcpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: tcmalloc_internal::subtle::percpu::FenceCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - tcmalloc_internal::subtle::percpu::FenceAllCpus
    - load
    - ASSUME
    - ABSL_PREDICT_TRUE
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    - tcmalloc_internal::subtle::percpu::CompilerBarrier
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - tcmalloc_internal::subtle::percpu::UsingRseqVirtualCpus
    linkageType: ''
    returnType: void
    signature: void FenceCpu(int vcpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:409,1
    - Dst: tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:410,1
    - Dst: tcmalloc_internal::subtle::percpu::FenceInterruptCPU
      Src: /src/tcmalloc/tcmalloc/internal/percpu.cc:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tcmalloc_internal::subtle::percpu::FenceAllCpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu.cc
    functionUses: 8
    functionsReached:
    - load
    - tcmalloc_internal::subtle::percpu::UpstreamRseqFenceCpu
    - tcmalloc_internal::subtle::percpu::FenceInterruptCPU
    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:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - data
    - GetCpuScaledPartition
    - InitNumaTopology
    - numa_aware
    - 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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - alloc
    - GetSlabsAllocSize
    - NumCPUs
    - ToShiftType
    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:
    - Init
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ToShiftType
    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:
    - InitSlab
    - tcmalloc::tcmalloc_internal::subtle::percpu::TcmallocSlabTest::ByteCountingMalloc
    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:
    - memset
    - GetPageSize
    - ::operator new
    - madvise
    - static_cast<size_t>
    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:
    - EXPECT_GE
    - IsFast
    - ASSERT_GT
    - EXPECT_GT
    - EXPECT_EQ
    - Capacity
    - Length
    - EXPECT_LE
    - InitCpu
    - MetadataMemoryUsage
    - GTEST_SKIP
    - NumCPUs
    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:
    - AllowedCpus
    - Push
    - UncacheCpuSlab
    - Each
    - SCOPED_TRACE
    - std::vector<void*>
    - Drain
    - ASSERT_GE
    - EXPECT_FALSE
    - Length
    - ASSERT_TRUE
    - PushBatch
    - std::min
    - std::max<size_t>
    - PopBatch
    - IsFast
    - ASSERT_EQ
    - Grow
    - ASSERT_THAT
    - absl::MakeSpan
    - ASSERT_FALSE
    - Pop
    - InitCpu
    - UnorderedElementsAreArray
    - GTEST_SKIP
    - Capacity
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - CacheCpuSlab
    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:
    - IsFast
    - ASSERT_LT
    - Capacity
    - EXPECT_EQ
    - ASSERT_EQ
    - Grow
    - sized_aligned_delete
    - ASSERT_NE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - mprotect
    - CacheCpuSlab
    - GTEST_SKIP
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - UpdateMaxCapacities
    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
    - EXPECT_GT
    - EXPECT_EQ
    - StopCpu
    - StartCpu
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - InitCpu
    - ShrinkOtherCache
    - GTEST_SKIP
    - EXPECT_NE
    - EXPECT_LT
    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:
    - IsFast
    - EXPECT_EQ
    - ResizeSlabs
    - InitCpu
    - ByteCountingMalloc
    - GTEST_SKIP
    - trigger_resize
    - tcmalloc_internal::subtle::percpu::ToShiftType
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    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:
    - store
    - slab::InitCpu
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - absl::base_internal::LowLevelCallOnce
    - slab::CacheCpuSlab
    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:
    - absl::Uniform<int32_t>
    - EXPECT_GT
    - IsFastNoInit
    - slab::Length
    - slab::Push
    - slab::Capacity
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitCpuOnce
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - slab::Grow
    - NumCPUs
    - EXPECT_LT
    - slab::PopBatch
    - EXPECT_EQ
    - EXPECT_TRUE
    - slab::ShrinkOtherCache
    - capacity::fetch_add
    - pop_back
    - std::min
    - push_back
    - back
    - slab::Drain
    - std::optional::emplace
    - IsFast
    - size
    - absl::Bernoulli
    - capacity::compare_exchange_weak
    - EXPECT_LE
    - empty
    - slab::PushBatch
    - slab::CacheCpuSlab
    - EXPECT_GE
    - absl::SeedSeq
    - capacity::load
    - slab::Pop
    - slab::StopCpu
    - slab::StartCpu
    - TC_ASSERT
    - EXPECT_NE
    - slab::GrowOtherCache
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - slab::UpdateMaxCapacities
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - store
    - ASSERT_EQ
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetResizedMaxCapacities
    - absl::Bernoulli
    - slab::GetShift
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    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:
    - pread
    - sized_aligned_delete
    - tcmalloc::tcmalloc_internal::subtle::percpu::GetMaxCapacityFunctor
    - NumCPUs
    - signal_safe_close
    - tcmalloc::tcmalloc_internal::subtle::percpu::AllocSlabs
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - mprotect
    - signal_safe_open
    - ToShiftType
    - reinterpret_cast<uintptr_t>
    - lock
    - load
    - absl::Span<std::pair<void*, size_t>>::size
    - unlock
    - madvise
    - slab::ResizeSlabs
    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:
    - std::get<1>
    - Context::GetMaxCapacityFunctor
    - sized_aligned_delete
    - std::vector::reserve
    - TcmallocSlab::Destroy
    - TcmallocSlab::Capacity
    - NumCPUs
    - EXPECT_EQ
    - std::thread
    - CpuSet::SetAffinity
    - std::get<0>
    - std::atomic::load
    - TcmallocSlab::Drain
    - std::vector::push_back
    - push_back
    - CpuSet::Zero
    - TcmallocSlab::Length
    - absl::SleepFor
    - CpuSet::Set
    - store
    - IsFast
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::flat_hash_set::size
    - absl::MakeSpan
    - std::vector::size
    - GTEST_SKIP
    - std::ref
    - mprotect
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - GetParam
    - Context::capacity::fetch_add
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    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:
    - reinterpret_cast<uintptr_t>
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - dl_iterate_phdr
    - ASSERT_EQ
    - ::testing::ContainerEq
    - tcmalloc_internal::signal_safe_open
    - EXPECT_TRUE
    - reinterpret_cast<const kernel_rseq_cs**>
    - ASSERT_NE
    - close
    - EXPECT_THAT
    - reinterpret_cast<const kernel_rseq_cs*>
    - GTEST_SKIP
    - EXPECT_LT
    - absl::debugging_internal::ForEachSection
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::Push
    - TcmallocSlab::Pop
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - TC_CHECK
    - IsFast
    - TcmallocSlab::PopBatch
    - TcmallocSlab::InitCpu
    - TC_CHECK_EQ
    - TcmallocSlab::CacheCpuSlab
    - TcmallocSlab::PushBatch
    - TcmallocSlab::Grow
    - tcmalloc::tcmalloc_internal::subtle::percpu::InitSlab
    - NumCPUs
    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:
    - sigfillset
    - pthread_sigmask
    - Setmask
    - TC_CHECK_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: 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:
    - sigfillset
    - tcmalloc_internal::ScopedSigmask::Setmask
    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:
    - pthread_sigmask
    - TC_CHECK_EQ
    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:
    - sigfillset
    - tcmalloc_internal::ScopedSigmask::Setmask
    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:
    - pthread_sigmask
    - TC_CHECK_EQ
    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:43,1
    - Dst: static_cast<MemoryTag>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:48,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:48,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:54,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:55,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:56,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:57,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:57,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:58,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:59,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:59,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:60,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:62,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 68
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - static_cast<uint8_t>
    - static_cast<int>
    - static_cast<uintptr_t>
    - static_cast<MemoryTag>
    - TC_ASSERT
    - std::min
    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:48,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: GetMemoryTag
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.h
    functionUses: 73
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - static_cast<MemoryTag>
    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:54,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:55,1
    - Dst: static_cast<uint8_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:56,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:57,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:57,1
    - Dst: static_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:58,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:59,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:59,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:60,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:62,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: IsNormalMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.h
    functionUses: 69
    functionsReached:
    - GetMemoryTag
    - static_cast<uint8_t>
    - static_cast<int>
    - static_cast<uintptr_t>
    - TC_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool IsNormalMemory(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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    - std::forward<Args>
    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: 331
    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:
    - CHECK_NE
    - signal_safe_close
    - absl::string_view::length
    - signal_safe_write
    - CHECK_EQ
    - absl::string_view::data
    - signal_safe_open
    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:
    - Get
    - Optional
    - EXPECT_THAT
    - GTEST_SKIP
    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:
    - reinterpret_cast<void*>
    - std::begin
    - PageFlags::Get
    - std::fill
    - std::end
    - EXPECT_THAT
    - GTEST_SKIP
    - Optional
    - ::benchmark::DoNotOptimize
    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:
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_NE
    - getpagesize
    - EXPECT_THAT
    - GTEST_SKIP
    - mmap
    - madvise
    - Optional
    - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ::lseek
    - strerror
    - CHECK_NE
    - signal_safe_read
    - std::array::data
    - reinterpret_cast<char*>
    - CHECK_EQ
    - close
    - getpagesize
    - write
    - absl::string_view::data
    - signal_safe_open
    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:
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - auto::has_value
    - absl::StrCat
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - PageFlagsFriend::Get
    - absl::Now
    - EXPECT_THAT
    - mmap
    - ASSERT_TRUE
    - absl::GetFlag
    - FieldsAre
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - PageFlagsFriend::SetCachedScanSeconds
    - absl::StrFormat
    - munmap
    - reinterpret_cast<uintptr_t>
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - auto::has_value
    - reinterpret_cast<char*>
    - mlock
    - absl::Now
    - mmap
    - ASSERT_TRUE
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - munmap
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - signal_safe_close
    - std::string::c_str
    - reinterpret_cast<char*>
    - PageFlagsFriend::IsHugepageBacked
    - ASSERT_NE
    - CHECK_EQ
    - close
    - getpagesize
    - std::vector::size
    - write
    - signal_safe_open
    - test_hugepage_status
    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:
    - testing::TempDir
    - absl::StrCat
    - Optional
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::SetContents
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::reset
    - EXPECT_THAT
    - GTEST_SKIP
    - PageFlagsFriend::Get
    - FieldsAre
    - Optional
    - std::optional::emplace
    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:
    - EXPECT_EQ
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::reset
    - std::optional::emplace
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - CHECK_NE
    - signal_safe_close
    - absl::string_view::length
    - signal_safe_write
    - CHECK_EQ
    - absl::string_view::data
    - signal_safe_open
    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:
    - Get
    - Optional
    - EXPECT_THAT
    - GTEST_SKIP
    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:
    - reinterpret_cast<void*>
    - std::begin
    - PageFlags::Get
    - std::fill
    - std::end
    - EXPECT_THAT
    - GTEST_SKIP
    - Optional
    - ::benchmark::DoNotOptimize
    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:
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_NE
    - getpagesize
    - EXPECT_THAT
    - GTEST_SKIP
    - mmap
    - madvise
    - Optional
    - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ::lseek
    - strerror
    - CHECK_NE
    - signal_safe_read
    - std::array::data
    - reinterpret_cast<char*>
    - CHECK_EQ
    - close
    - getpagesize
    - write
    - absl::string_view::data
    - signal_safe_open
    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:
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - auto::has_value
    - absl::StrCat
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - PageFlagsFriend::Get
    - absl::Now
    - EXPECT_THAT
    - mmap
    - ASSERT_TRUE
    - absl::GetFlag
    - FieldsAre
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - PageFlagsFriend::SetCachedScanSeconds
    - absl::StrFormat
    - munmap
    - reinterpret_cast<uintptr_t>
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - auto::has_value
    - reinterpret_cast<char*>
    - mlock
    - absl::Now
    - mmap
    - ASSERT_TRUE
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - munmap
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - signal_safe_close
    - std::string::c_str
    - reinterpret_cast<char*>
    - PageFlagsFriend::IsHugepageBacked
    - ASSERT_NE
    - CHECK_EQ
    - close
    - getpagesize
    - std::vector::size
    - write
    - signal_safe_open
    - test_hugepage_status
    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:
    - testing::TempDir
    - absl::StrCat
    - Optional
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::SetContents
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::reset
    - EXPECT_THAT
    - GTEST_SKIP
    - PageFlagsFriend::Get
    - FieldsAre
    - Optional
    - std::optional::emplace
    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:
    - EXPECT_EQ
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::reset
    - std::optional::emplace
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    - std::forward<Args>
    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: 336
    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:
    - CHECK_NE
    - signal_safe_close
    - absl::string_view::length
    - signal_safe_write
    - CHECK_EQ
    - absl::string_view::data
    - signal_safe_open
    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:
    - Get
    - Optional
    - EXPECT_THAT
    - GTEST_SKIP
    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:
    - reinterpret_cast<void*>
    - std::begin
    - PageFlags::Get
    - std::fill
    - std::end
    - EXPECT_THAT
    - GTEST_SKIP
    - Optional
    - ::benchmark::DoNotOptimize
    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:
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_NE
    - getpagesize
    - EXPECT_THAT
    - GTEST_SKIP
    - mmap
    - madvise
    - Optional
    - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ::lseek
    - strerror
    - CHECK_NE
    - signal_safe_read
    - std::array::data
    - reinterpret_cast<char*>
    - CHECK_EQ
    - close
    - getpagesize
    - write
    - absl::string_view::data
    - signal_safe_open
    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:
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - auto::has_value
    - absl::StrCat
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - PageFlagsFriend::Get
    - absl::Now
    - EXPECT_THAT
    - mmap
    - ASSERT_TRUE
    - absl::GetFlag
    - FieldsAre
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - PageFlagsFriend::SetCachedScanSeconds
    - absl::StrFormat
    - munmap
    - reinterpret_cast<uintptr_t>
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - auto::has_value
    - reinterpret_cast<char*>
    - mlock
    - absl::Now
    - mmap
    - ASSERT_TRUE
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - munmap
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - signal_safe_close
    - std::string::c_str
    - reinterpret_cast<char*>
    - PageFlagsFriend::IsHugepageBacked
    - ASSERT_NE
    - CHECK_EQ
    - close
    - getpagesize
    - std::vector::size
    - write
    - signal_safe_open
    - test_hugepage_status
    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:
    - testing::TempDir
    - absl::StrCat
    - Optional
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::SetContents
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::reset
    - EXPECT_THAT
    - GTEST_SKIP
    - PageFlagsFriend::Get
    - FieldsAre
    - Optional
    - std::optional::emplace
    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:
    - EXPECT_EQ
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::reset
    - std::optional::emplace
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - CHECK_NE
    - signal_safe_close
    - absl::string_view::length
    - signal_safe_write
    - CHECK_EQ
    - absl::string_view::data
    - signal_safe_open
    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:
    - Get
    - Optional
    - EXPECT_THAT
    - GTEST_SKIP
    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:
    - reinterpret_cast<void*>
    - std::begin
    - PageFlags::Get
    - std::fill
    - std::end
    - EXPECT_THAT
    - GTEST_SKIP
    - Optional
    - ::benchmark::DoNotOptimize
    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:
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_NE
    - getpagesize
    - EXPECT_THAT
    - GTEST_SKIP
    - mmap
    - madvise
    - Optional
    - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ::lseek
    - strerror
    - CHECK_NE
    - signal_safe_read
    - std::array::data
    - reinterpret_cast<char*>
    - CHECK_EQ
    - close
    - getpagesize
    - write
    - absl::string_view::data
    - signal_safe_open
    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:
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - auto::has_value
    - absl::StrCat
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - PageFlagsFriend::Get
    - absl::Now
    - EXPECT_THAT
    - mmap
    - ASSERT_TRUE
    - absl::GetFlag
    - FieldsAre
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - PageFlagsFriend::SetCachedScanSeconds
    - absl::StrFormat
    - munmap
    - reinterpret_cast<uintptr_t>
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - auto::has_value
    - reinterpret_cast<char*>
    - mlock
    - absl::Now
    - mmap
    - ASSERT_TRUE
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - munmap
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - signal_safe_close
    - std::string::c_str
    - reinterpret_cast<char*>
    - PageFlagsFriend::IsHugepageBacked
    - ASSERT_NE
    - CHECK_EQ
    - close
    - getpagesize
    - std::vector::size
    - write
    - signal_safe_open
    - test_hugepage_status
    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:
    - testing::TempDir
    - absl::StrCat
    - Optional
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::SetContents
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::reset
    - EXPECT_THAT
    - GTEST_SKIP
    - PageFlagsFriend::Get
    - FieldsAre
    - Optional
    - std::optional::emplace
    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:
    - EXPECT_EQ
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::reset
    - std::optional::emplace
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    - std::forward<Args>
    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: 341
    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:
    - CHECK_NE
    - signal_safe_close
    - absl::string_view::length
    - signal_safe_write
    - CHECK_EQ
    - absl::string_view::data
    - signal_safe_open
    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:
    - Get
    - Optional
    - EXPECT_THAT
    - GTEST_SKIP
    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:
    - reinterpret_cast<void*>
    - std::begin
    - PageFlags::Get
    - std::fill
    - std::end
    - EXPECT_THAT
    - GTEST_SKIP
    - Optional
    - ::benchmark::DoNotOptimize
    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:
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_NE
    - getpagesize
    - EXPECT_THAT
    - GTEST_SKIP
    - mmap
    - madvise
    - Optional
    - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ::lseek
    - strerror
    - CHECK_NE
    - signal_safe_read
    - std::array::data
    - reinterpret_cast<char*>
    - CHECK_EQ
    - close
    - getpagesize
    - write
    - absl::string_view::data
    - signal_safe_open
    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:
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - auto::has_value
    - absl::StrCat
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - PageFlagsFriend::Get
    - absl::Now
    - EXPECT_THAT
    - mmap
    - ASSERT_TRUE
    - absl::GetFlag
    - FieldsAre
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - PageFlagsFriend::SetCachedScanSeconds
    - absl::StrFormat
    - munmap
    - reinterpret_cast<uintptr_t>
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - auto::has_value
    - reinterpret_cast<char*>
    - mlock
    - absl::Now
    - mmap
    - ASSERT_TRUE
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - munmap
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - signal_safe_close
    - std::string::c_str
    - reinterpret_cast<char*>
    - PageFlagsFriend::IsHugepageBacked
    - ASSERT_NE
    - CHECK_EQ
    - close
    - getpagesize
    - std::vector::size
    - write
    - signal_safe_open
    - test_hugepage_status
    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:
    - testing::TempDir
    - absl::StrCat
    - Optional
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::SetContents
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::reset
    - EXPECT_THAT
    - GTEST_SKIP
    - PageFlagsFriend::Get
    - FieldsAre
    - Optional
    - std::optional::emplace
    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:
    - EXPECT_EQ
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::reset
    - std::optional::emplace
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - CHECK_NE
    - signal_safe_close
    - absl::string_view::length
    - signal_safe_write
    - CHECK_EQ
    - absl::string_view::data
    - signal_safe_open
    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:
    - Get
    - Optional
    - EXPECT_THAT
    - GTEST_SKIP
    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:
    - reinterpret_cast<void*>
    - std::begin
    - PageFlags::Get
    - std::fill
    - std::end
    - EXPECT_THAT
    - GTEST_SKIP
    - Optional
    - ::benchmark::DoNotOptimize
    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:
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_NE
    - getpagesize
    - EXPECT_THAT
    - GTEST_SKIP
    - mmap
    - madvise
    - Optional
    - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ::lseek
    - strerror
    - CHECK_NE
    - signal_safe_read
    - std::array::data
    - reinterpret_cast<char*>
    - CHECK_EQ
    - close
    - getpagesize
    - write
    - absl::string_view::data
    - signal_safe_open
    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:
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - auto::has_value
    - absl::StrCat
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - PageFlagsFriend::Get
    - absl::Now
    - EXPECT_THAT
    - mmap
    - ASSERT_TRUE
    - absl::GetFlag
    - FieldsAre
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - PageFlagsFriend::SetCachedScanSeconds
    - absl::StrFormat
    - munmap
    - reinterpret_cast<uintptr_t>
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - auto::has_value
    - reinterpret_cast<char*>
    - mlock
    - absl::Now
    - mmap
    - ASSERT_TRUE
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - munmap
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - signal_safe_close
    - std::string::c_str
    - reinterpret_cast<char*>
    - PageFlagsFriend::IsHugepageBacked
    - ASSERT_NE
    - CHECK_EQ
    - close
    - getpagesize
    - std::vector::size
    - write
    - signal_safe_open
    - test_hugepage_status
    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:
    - testing::TempDir
    - absl::StrCat
    - Optional
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::SetContents
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::reset
    - EXPECT_THAT
    - GTEST_SKIP
    - PageFlagsFriend::Get
    - FieldsAre
    - Optional
    - std::optional::emplace
    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:
    - EXPECT_EQ
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::reset
    - std::optional::emplace
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::Get
    - std::forward<Args>
    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: 346
    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:
    - CHECK_NE
    - signal_safe_close
    - absl::string_view::length
    - signal_safe_write
    - CHECK_EQ
    - absl::string_view::data
    - signal_safe_open
    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:
    - Get
    - Optional
    - EXPECT_THAT
    - GTEST_SKIP
    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:
    - reinterpret_cast<void*>
    - std::begin
    - PageFlags::Get
    - std::fill
    - std::end
    - EXPECT_THAT
    - GTEST_SKIP
    - Optional
    - ::benchmark::DoNotOptimize
    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:
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_NE
    - getpagesize
    - EXPECT_THAT
    - GTEST_SKIP
    - mmap
    - madvise
    - Optional
    - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ::lseek
    - strerror
    - CHECK_NE
    - signal_safe_read
    - std::array::data
    - reinterpret_cast<char*>
    - CHECK_EQ
    - close
    - getpagesize
    - write
    - absl::string_view::data
    - signal_safe_open
    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:
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - auto::has_value
    - absl::StrCat
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - PageFlagsFriend::Get
    - absl::Now
    - EXPECT_THAT
    - mmap
    - ASSERT_TRUE
    - absl::GetFlag
    - FieldsAre
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - PageFlagsFriend::SetCachedScanSeconds
    - absl::StrFormat
    - munmap
    - reinterpret_cast<uintptr_t>
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - auto::has_value
    - reinterpret_cast<char*>
    - mlock
    - absl::Now
    - mmap
    - ASSERT_TRUE
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - munmap
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - signal_safe_close
    - std::string::c_str
    - reinterpret_cast<char*>
    - PageFlagsFriend::IsHugepageBacked
    - ASSERT_NE
    - CHECK_EQ
    - close
    - getpagesize
    - std::vector::size
    - write
    - signal_safe_open
    - test_hugepage_status
    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:
    - testing::TempDir
    - absl::StrCat
    - Optional
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::SetContents
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::reset
    - EXPECT_THAT
    - GTEST_SKIP
    - PageFlagsFriend::Get
    - FieldsAre
    - Optional
    - std::optional::emplace
    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:
    - EXPECT_EQ
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::reset
    - std::optional::emplace
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - CHECK_NE
    - signal_safe_close
    - absl::string_view::length
    - signal_safe_write
    - CHECK_EQ
    - absl::string_view::data
    - signal_safe_open
    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:
    - Get
    - Optional
    - EXPECT_THAT
    - GTEST_SKIP
    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:
    - reinterpret_cast<void*>
    - std::begin
    - PageFlags::Get
    - std::fill
    - std::end
    - EXPECT_THAT
    - GTEST_SKIP
    - Optional
    - ::benchmark::DoNotOptimize
    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:
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_NE
    - getpagesize
    - EXPECT_THAT
    - GTEST_SKIP
    - mmap
    - madvise
    - Optional
    - 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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ::lseek
    - strerror
    - CHECK_NE
    - signal_safe_read
    - std::array::data
    - reinterpret_cast<char*>
    - CHECK_EQ
    - close
    - getpagesize
    - write
    - absl::string_view::data
    - signal_safe_open
    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:
    - testing::TempDir
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - auto::has_value
    - absl::StrCat
    - EXPECT_TRUE
    - reinterpret_cast<char*>
    - PageFlagsFriend::Get
    - absl::Now
    - EXPECT_THAT
    - mmap
    - ASSERT_TRUE
    - absl::GetFlag
    - FieldsAre
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - PageFlagsFriend::SetCachedScanSeconds
    - absl::StrFormat
    - munmap
    - reinterpret_cast<uintptr_t>
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - auto::has_value
    - reinterpret_cast<char*>
    - mlock
    - absl::Now
    - mmap
    - ASSERT_TRUE
    - Optional
    - absl::SleepFor
    - reinterpret_cast<void*>
    - PageFlags::Get
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - absl::Uniform
    - getpagesize
    - GTEST_SKIP
    - munmap
    - LOG
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - madvise
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - signal_safe_close
    - std::string::c_str
    - reinterpret_cast<char*>
    - PageFlagsFriend::IsHugepageBacked
    - ASSERT_NE
    - CHECK_EQ
    - close
    - getpagesize
    - std::vector::size
    - write
    - signal_safe_open
    - test_hugepage_status
    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:
    - testing::TempDir
    - absl::StrCat
    - Optional
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - reinterpret_cast<char*>
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - std::vector::data
    - ASSERT_EQ
    - std::string::c_str
    - ASSERT_NE
    - close
    - getpagesize
    - EXPECT_THAT
    - std::vector::size
    - PageFlagsFriend::Get
    - write
    - signal_safe_open
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::GenerateAllStaleTest
    - std::make_unique<std::array<char, (1 << 22)>>
    - tcmalloc::tcmalloc_internal::SetContents
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::optional::reset
    - EXPECT_THAT
    - GTEST_SKIP
    - PageFlagsFriend::Get
    - FieldsAre
    - Optional
    - std::optional::emplace
    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:
    - EXPECT_EQ
    - PageFlagsFriend::MaybeReadStaleScanSeconds
    - PageFlagsFriend::CachedScanSeconds
    - std::optional::reset
    - std::optional::emplace
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - testing::TempDir
    - absl::StrCat
    - tcmalloc::tcmalloc_internal::ExpectStaleSecondsFailedReadFrom
    - tcmalloc::tcmalloc_internal::SetContents
    - GTEST_SKIP
    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:
    - PageTail
    - ::lseek
    - IsHugepage
    - PageLocked
    - TC_ASSERT_EQ
    - PageHugetlbfs
    - signal_safe_close
    - reinterpret_cast<char*>
    - Seek
    - TC_LOG
    - GetOffset
    - MaybeAddToStats
    - MaybeReadOne
    - signal_safe_read
    - ReadMany
    - MaybeReadStaleScanSeconds
    - absl::SimpleAtoi
    - signal_safe_open
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - std::min<int64_t>
    - PageStale
    - PageThp
    - PageHead
    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::PageThp
    - tcmalloc_internal::PageHugetlbfs
    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::PageLocked
    - tcmalloc_internal::PageStale
    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::PageThp
    - tcmalloc_internal::PageHugetlbfs
    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::PageLocked
    - tcmalloc_internal::PageStale
    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:
    - TC_LOG
    - signal_safe_open
    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:
    - tcmalloc_internal::PageFlags::GetOffset
    - ::lseek
    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
    - signal_safe_read
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<char*>
    - tcmalloc_internal::PageFlags::Seek
    - PageThp
    - TC_LOG
    - PageHead
    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:
    - MaybeAddToStats
    - PageTail
    - signal_safe_read
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<char*>
    - std::min<int64_t>
    - 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:
    - reinterpret_cast<uintptr_t>
    - IsHugepage
    - signal_safe_read
    - reinterpret_cast<char*>
    - 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::MaybeReadOne
    - reinterpret_cast<uintptr_t>
    - MaybeAddToStats
    - tcmalloc_internal::PageFlags::ReadMany
    - tcmalloc_internal::PageFlags::Seek
    - tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
    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_read
    - signal_safe_close
    - absl::SimpleAtoi
    - signal_safe_open
    - 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::PageThp
    - tcmalloc_internal::PageHugetlbfs
    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::PageLocked
    - tcmalloc_internal::PageStale
    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::PageThp
    - tcmalloc_internal::PageHugetlbfs
    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::PageLocked
    - tcmalloc_internal::PageStale
    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:
    - TC_LOG
    - signal_safe_open
    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:
    - tcmalloc_internal::PageFlags::GetOffset
    - ::lseek
    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
    - signal_safe_read
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<char*>
    - tcmalloc_internal::PageFlags::Seek
    - PageThp
    - TC_LOG
    - PageHead
    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:
    - MaybeAddToStats
    - PageTail
    - signal_safe_read
    - ABSL_PREDICT_FALSE
    - reinterpret_cast<char*>
    - std::min<int64_t>
    - 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:
    - reinterpret_cast<uintptr_t>
    - IsHugepage
    - signal_safe_read
    - reinterpret_cast<char*>
    - 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::MaybeReadOne
    - reinterpret_cast<uintptr_t>
    - MaybeAddToStats
    - tcmalloc_internal::PageFlags::ReadMany
    - tcmalloc_internal::PageFlags::Seek
    - tcmalloc_internal::PageFlags::MaybeReadStaleScanSeconds
    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_read
    - signal_safe_close
    - absl::SimpleAtoi
    - signal_safe_open
    - TC_LOG
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PageFlags::MaybeReadStaleScanSeconds(const char* filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 41
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME
      Src: /src/tcmalloc/tcmalloc/internal/memory_tag.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - tag
    argTypes:
    - MemoryTag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: MemoryTagToLabel
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/memory_tag.cc
    functionUses: 17
    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:
    - fetch_add
    - TC_CHECK
    - 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:
    - UnregisterRseq
    - IsFast
    - TC_CHECK
    - EXPECT_GT
    - ABSL_CHECK_EQ
    - memset
    - load
    - absl::Microseconds
    - absl::ToTimeval
    - absl::ZeroDuration
    - setitimer
    - GTEST_SKIP
    - sigaction
    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:
    - fetch_add
    - TC_CHECK
    - 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:
    - UnregisterRseq
    - IsFast
    - TC_CHECK
    - EXPECT_GT
    - ABSL_CHECK_EQ
    - memset
    - load
    - absl::Microseconds
    - absl::ToTimeval
    - absl::ZeroDuration
    - setitimer
    - GTEST_SKIP
    - sigaction
    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:
    - fetch_add
    - TC_CHECK
    - 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:
    - UnregisterRseq
    - IsFast
    - TC_CHECK
    - EXPECT_GT
    - ABSL_CHECK_EQ
    - memset
    - load
    - absl::Microseconds
    - absl::ToTimeval
    - absl::ZeroDuration
    - setitimer
    - GTEST_SKIP
    - sigaction
    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:
    - fetch_add
    - TC_CHECK
    - 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:
    - UnregisterRseq
    - IsFast
    - TC_CHECK
    - EXPECT_GT
    - ABSL_CHECK_EQ
    - memset
    - load
    - absl::Microseconds
    - absl::ToTimeval
    - absl::ZeroDuration
    - setitimer
    - GTEST_SKIP
    - sigaction
    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:
    - TC_ASSERT_LT
    - signal_safe_read
    - signal_safe_close
    - GetPageSize
    - static_cast<ssize_t>
    - absl::string_view::find
    - absl::string_view::size
    - TC_ASSERT_GE
    - absl::SimpleAtoi
    - absl::string_view::substr
    - signal_safe_open
    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:
    - tcmalloc_internal::GetPageSize
    - TC_ASSERT_LT
    - tcmalloc_internal::signal_safe_open
    - tcmalloc_internal::signal_safe_read
    - static_cast<ssize_t>
    - absl::string_view::find
    - absl::string_view::size
    - TC_ASSERT_GE
    - absl::SimpleAtoi
    - absl::string_view::substr
    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:
    - tcmalloc_internal::GetPageSize
    - TC_ASSERT_LT
    - tcmalloc_internal::signal_safe_open
    - tcmalloc_internal::signal_safe_read
    - static_cast<ssize_t>
    - absl::string_view::find
    - absl::string_view::size
    - TC_ASSERT_GE
    - absl::SimpleAtoi
    - absl::string_view::substr
    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:163,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:165,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:182,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:182,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:184,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:195,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:195,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:197,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:224,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:224,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:225,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:226,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:231,1
    - Dst: empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:231,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:232,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:233,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:237,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:239,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:241,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:243,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:247,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:247,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:250,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:254,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:255,1
    - Dst: const_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:255,1
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:259,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:280,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 289
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - SLL_SetNext
    - const_cast<Elem*>
    - __builtin_prefetch
    - static_cast<T*>
    - TC_ASSERT_GE
    - SLL_Push
    - TC_ASSERT_EQ
    - Iter
    - static_cast<Elem*>
    - SLL_Next
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    - append
    - empty
    - ABSL_PREDICT_FALSE
    - remove
    - ABSL_PREDICT_TRUE
    - prepend
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:
    - tcmalloc_internal::SLL_Next
    - __builtin_prefetch
    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:
    - ABSL_PREDICT_FALSE
    - SLL_Next
    - __builtin_prefetch
    - ABSL_PREDICT_TRUE
    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:
    - SLL_Next
    - TC_ASSERT_GE
    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: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    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:163,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    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:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:182,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:182,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - item
    - list
    argTypes:
    - Elem*
    - TList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::TList::Elem::prepend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<Elem*>
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void prepend(Elem* item, TList* list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:195,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:195,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - item
    - list
    argTypes:
    - Elem*
    - TList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::TList::Elem::append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<Elem*>
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void append(Elem* item, TList* list)
  - 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::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: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    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: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    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: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    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: 220
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 220
    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:224,1
    - Dst: tcmalloc_internal::TList::empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:224,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:225,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 227
    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:231,1
    - Dst: tcmalloc_internal::TList::empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:231,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:232,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    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:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 237
    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: T*::prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - other
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::TList::prepend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - T*::prepend
    linkageType: ''
    returnType: void
    signature: void prepend(T* item, T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TList::prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 241
    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*::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - other
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc_internal::TList::append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 1
    functionsReached:
    - T*::append
    linkageType: ''
    returnType: void
    signature: void append(T* item, T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:247,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:247,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:248,1
    - Dst: T*::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: tcmalloc_internal::TList::remove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<Elem*>
    - TC_ASSERT_EQ
    - T*::remove
    linkageType: ''
    returnType: bool
    signature: bool remove(T* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:254,1
    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::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:255,1
    - Dst: const_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::TList::end
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - const_cast<Elem*>
    - Iter
    linkageType: ''
    returnType: Iter
    signature: Iter end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    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: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    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: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    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: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    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: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    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: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    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:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    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:
    - tcmalloc_internal::SLL_Next
    - __builtin_prefetch
    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:
    - ABSL_PREDICT_FALSE
    - SLL_Next
    - __builtin_prefetch
    - ABSL_PREDICT_TRUE
    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:
    - SLL_Next
    - TC_ASSERT_GE
    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: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    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:163,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    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:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:182,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:182,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - item
    - list
    argTypes:
    - Elem*
    - TList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: tcmalloc_internal::TList::Elem::prepend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<Elem*>
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void prepend(Elem* item, TList* list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:195,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:195,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - item
    - list
    argTypes:
    - Elem*
    - TList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: tcmalloc_internal::TList::Elem::append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<Elem*>
    - TC_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void append(Elem* item, TList* list)
  - 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::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: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    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: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    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: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    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: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    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: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    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: 220
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 220
    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:224,1
    - Dst: tcmalloc_internal::TList::empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:224,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:225,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 227
    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:231,1
    - Dst: tcmalloc_internal::TList::empty
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:231,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:232,1
    - Dst: static_cast<T*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    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:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 237
    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: T*::prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - other
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: tcmalloc_internal::TList::prepend
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 1
    functionsReached:
    - T*::prepend
    linkageType: ''
    returnType: void
    signature: void prepend(T* item, T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::TList::prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 241
    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*::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - other
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: tcmalloc_internal::TList::append
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 2
    functionsReached:
    - T*::append
    linkageType: ''
    returnType: void
    signature: void append(T* item, T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:247,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:247,1
    - Dst: static_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:248,1
    - Dst: T*::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: tcmalloc_internal::TList::remove
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - static_cast<Elem*>
    - TC_ASSERT_EQ
    - T*::remove
    linkageType: ''
    returnType: bool
    signature: bool remove(T* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:254,1
    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::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:255,1
    - Dst: const_cast<Elem*>
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: tcmalloc_internal::TList::end
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list.h
    functionUses: 0
    functionsReached:
    - const_cast<Elem*>
    - Iter
    linkageType: ''
    returnType: Iter
    signature: Iter end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iter
      Src: /src/tcmalloc/tcmalloc/internal/linked_list.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    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: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    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: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    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: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    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: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    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: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    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:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    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: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
    functionUses: 0
    functionsReached:
    - CacheTopology::l3_count
    - ASSERT_GT
    - CacheTopology::Init
    - EXPECT_EQ
    - CacheTopology::GetL3FromCpuId
    - NumCPUs
    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: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
    functionUses: 0
    functionsReached:
    - CacheTopology::l3_count
    - ASSERT_GT
    - CacheTopology::Init
    - EXPECT_EQ
    - CacheTopology::GetL3FromCpuId
    - NumCPUs
    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: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
    functionUses: 0
    functionsReached:
    - CacheTopology::l3_count
    - ASSERT_GT
    - CacheTopology::Init
    - EXPECT_EQ
    - CacheTopology::GetL3FromCpuId
    - NumCPUs
    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: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/cache_topology_test.cc
    functionUses: 0
    functionsReached:
    - CacheTopology::l3_count
    - ASSERT_GT
    - CacheTopology::Init
    - EXPECT_EQ
    - CacheTopology::GetL3FromCpuId
    - NumCPUs
    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:
    - CpuSet::Count
    - CpuSet::CLR
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - CpuSet::IsSet
    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::subtle::percpu::GetRealCpu
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc::tcmalloc_internal::AffinityMatches
    - ASSERT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    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::Count
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuSet::SetAffinity
    - CpuSet::IsSet
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - EXPECT_EQ
    - AllowedCpus
    - std::vector::size
    - push_back
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - CpuSet::Count
    - CpuSet::CLR
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - CpuSet::IsSet
    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::subtle::percpu::GetRealCpu
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc::tcmalloc_internal::AffinityMatches
    - ASSERT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    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::Count
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuSet::SetAffinity
    - CpuSet::IsSet
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - EXPECT_EQ
    - AllowedCpus
    - std::vector::size
    - push_back
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - CpuSet::Count
    - CpuSet::CLR
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - CpuSet::IsSet
    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::subtle::percpu::GetRealCpu
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc::tcmalloc_internal::AffinityMatches
    - ASSERT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    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::Count
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuSet::SetAffinity
    - CpuSet::IsSet
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - EXPECT_EQ
    - AllowedCpus
    - std::vector::size
    - push_back
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - CpuSet::Count
    - CpuSet::CLR
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - CpuSet::IsSet
    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::subtle::percpu::GetRealCpu
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc::tcmalloc_internal::AffinityMatches
    - ASSERT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    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::Count
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuSet::SetAffinity
    - CpuSet::IsSet
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - EXPECT_EQ
    - AllowedCpus
    - std::vector::size
    - push_back
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - CpuSet::Count
    - CpuSet::CLR
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - CpuSet::IsSet
    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::subtle::percpu::GetRealCpu
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc::tcmalloc_internal::AffinityMatches
    - ASSERT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    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::Count
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuSet::SetAffinity
    - CpuSet::IsSet
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - EXPECT_EQ
    - AllowedCpus
    - std::vector::size
    - push_back
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - CpuSet::Count
    - CpuSet::CLR
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - CpuSet::IsSet
    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::subtle::percpu::GetRealCpu
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc::tcmalloc_internal::AffinityMatches
    - ASSERT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    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::Count
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuSet::SetAffinity
    - CpuSet::IsSet
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - EXPECT_EQ
    - AllowedCpus
    - std::vector::size
    - push_back
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - CpuSet::Count
    - CpuSet::CLR
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - CpuSet::IsSet
    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::subtle::percpu::GetRealCpu
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc::tcmalloc_internal::AffinityMatches
    - ASSERT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    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::Count
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuSet::SetAffinity
    - CpuSet::IsSet
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - EXPECT_EQ
    - AllowedCpus
    - std::vector::size
    - push_back
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - CpuSet::Count
    - CpuSet::CLR
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - CpuSet::IsSet
    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::subtle::percpu::GetRealCpu
    - ASSERT_THAT
    - AllowedCpus
    - tcmalloc::tcmalloc_internal::AffinityMatches
    - ASSERT_TRUE
    - tcmalloc_internal::StackTraceFilter::Contains
    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::Count
    - CpuSet::GetAffinity
    - EXPECT_TRUE
    - EXPECT_FALSE
    - CpuSet::SetAffinity
    - CpuSet::IsSet
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    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:
    - EXPECT_EQ
    - AllowedCpus
    - std::vector::size
    - push_back
    - ASSERT_TRUE
    - ScopedAffinityMask::Tampered
    linkageType: ''
    returnType: void
    signature: void TEST(AffinityInternalTest, ScopedAffinityMask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/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/internal/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/internal/mock_metadata_allocator.h:35,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/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/internal/mock_metadata_allocator.h
    functionUses: 0
    functionsReached:
    - push_back
    - malloc
    linkageType: ''
    returnType: void
    signature: void * operator()(size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/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/internal/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/internal/mock_metadata_allocator.h:35,1
    - Dst: push_back
      Src: /src/tcmalloc/tcmalloc/internal/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/internal/mock_metadata_allocator.h
    functionUses: 0
    functionsReached:
    - push_back
    - malloc
    linkageType: ''
    returnType: void
    signature: void * operator()(size_t size) override
  - 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:
    - std::string::c_str
    - std::string*::assign
    - std::string::string
    - testing::MatchesRegex
    - EXPECT_THAT
    - TC_LOG
    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:
    - Printer::printf
    - EXPECT_EQ
    - Printer::SpaceRequired
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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:
    - Printer::Append
    - Printer::SpaceRequired
    - EXPECT_EQ
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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_ASSERT_LT
    - TC_CHECK_NE
    - TC_CHECK
    - TC_CHECK_GE
    - TC_CHECK_LE
    - TC_CHECK_LT
    - TC_CHECK_GT
    - TC_ASSERT_LE
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    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_CHECK
    - TC_CHECK_GE
    - bar
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - TC_BUG
    - TC_ASSERT
    - TC_ASSERT_NE
    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:
    - f2
    - TC_CHECK_NE
    - f1
    - 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_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    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:
    - std::string::c_str
    - std::string*::assign
    - std::string::string
    - testing::MatchesRegex
    - EXPECT_THAT
    - TC_LOG
    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:
    - Printer::printf
    - EXPECT_EQ
    - Printer::SpaceRequired
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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:
    - Printer::Append
    - Printer::SpaceRequired
    - EXPECT_EQ
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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_ASSERT_LT
    - TC_CHECK_NE
    - TC_CHECK
    - TC_CHECK_GE
    - TC_CHECK_LE
    - TC_CHECK_LT
    - TC_CHECK_GT
    - TC_ASSERT_LE
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    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_CHECK
    - TC_CHECK_GE
    - bar
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - TC_BUG
    - TC_ASSERT
    - TC_ASSERT_NE
    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:
    - f2
    - TC_CHECK_NE
    - f1
    - 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_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    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:
    - std::string::c_str
    - std::string*::assign
    - std::string::string
    - testing::MatchesRegex
    - EXPECT_THAT
    - TC_LOG
    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:
    - Printer::printf
    - EXPECT_EQ
    - Printer::SpaceRequired
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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:
    - Printer::Append
    - Printer::SpaceRequired
    - EXPECT_EQ
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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_ASSERT_LT
    - TC_CHECK_NE
    - TC_CHECK
    - TC_CHECK_GE
    - TC_CHECK_LE
    - TC_CHECK_LT
    - TC_CHECK_GT
    - TC_ASSERT_LE
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    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_CHECK
    - TC_CHECK_GE
    - bar
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - TC_BUG
    - TC_ASSERT
    - TC_ASSERT_NE
    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:
    - f2
    - TC_CHECK_NE
    - f1
    - 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_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    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:
    - std::string::c_str
    - std::string*::assign
    - std::string::string
    - testing::MatchesRegex
    - EXPECT_THAT
    - TC_LOG
    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:
    - Printer::printf
    - EXPECT_EQ
    - Printer::SpaceRequired
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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:
    - Printer::Append
    - Printer::SpaceRequired
    - EXPECT_EQ
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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_ASSERT_LT
    - TC_CHECK_NE
    - TC_CHECK
    - TC_CHECK_GE
    - TC_CHECK_LE
    - TC_CHECK_LT
    - TC_CHECK_GT
    - TC_ASSERT_LE
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    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_CHECK
    - TC_CHECK_GE
    - bar
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - TC_BUG
    - TC_ASSERT
    - TC_ASSERT_NE
    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:
    - f2
    - TC_CHECK_NE
    - f1
    - 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_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    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:
    - std::string::c_str
    - std::string*::assign
    - std::string::string
    - testing::MatchesRegex
    - EXPECT_THAT
    - TC_LOG
    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:
    - Printer::printf
    - EXPECT_EQ
    - Printer::SpaceRequired
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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:
    - Printer::Append
    - Printer::SpaceRequired
    - EXPECT_EQ
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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_ASSERT_LT
    - TC_CHECK_NE
    - TC_CHECK
    - TC_CHECK_GE
    - TC_CHECK_LE
    - TC_CHECK_LT
    - TC_CHECK_GT
    - TC_ASSERT_LE
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    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_CHECK
    - TC_CHECK_GE
    - bar
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - TC_BUG
    - TC_ASSERT
    - TC_ASSERT_NE
    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:
    - f2
    - TC_CHECK_NE
    - f1
    - 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_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    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:
    - std::string::c_str
    - std::string*::assign
    - std::string::string
    - testing::MatchesRegex
    - EXPECT_THAT
    - TC_LOG
    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:
    - Printer::printf
    - EXPECT_EQ
    - Printer::SpaceRequired
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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:
    - Printer::Append
    - Printer::SpaceRequired
    - EXPECT_EQ
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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_ASSERT_LT
    - TC_CHECK_NE
    - TC_CHECK
    - TC_CHECK_GE
    - TC_CHECK_LE
    - TC_CHECK_LT
    - TC_CHECK_GT
    - TC_ASSERT_LE
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    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_CHECK
    - TC_CHECK_GE
    - bar
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - TC_BUG
    - TC_ASSERT
    - TC_ASSERT_NE
    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:
    - f2
    - TC_CHECK_NE
    - f1
    - 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_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    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:
    - std::string::c_str
    - std::string*::assign
    - std::string::string
    - testing::MatchesRegex
    - EXPECT_THAT
    - TC_LOG
    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:
    - Printer::printf
    - EXPECT_EQ
    - Printer::SpaceRequired
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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:
    - Printer::Append
    - Printer::SpaceRequired
    - EXPECT_EQ
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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_ASSERT_LT
    - TC_CHECK_NE
    - TC_CHECK
    - TC_CHECK_GE
    - TC_CHECK_LE
    - TC_CHECK_LT
    - TC_CHECK_GT
    - TC_ASSERT_LE
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    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_CHECK
    - TC_CHECK_GE
    - bar
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - TC_BUG
    - TC_ASSERT
    - TC_ASSERT_NE
    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:
    - f2
    - TC_CHECK_NE
    - f1
    - 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_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    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:
    - std::string::c_str
    - std::string*::assign
    - std::string::string
    - testing::MatchesRegex
    - EXPECT_THAT
    - TC_LOG
    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:
    - Printer::printf
    - EXPECT_EQ
    - Printer::SpaceRequired
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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:
    - Printer::Append
    - Printer::SpaceRequired
    - EXPECT_EQ
    - std::string::append
    - get_buf
    - char::char
    - std::min<int>
    - absl::string_view::size
    - absl::string_view
    - std::unique_ptr::get
    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_ASSERT_LT
    - TC_CHECK_NE
    - TC_CHECK
    - TC_CHECK_GE
    - TC_CHECK_LE
    - TC_CHECK_LT
    - TC_CHECK_GT
    - TC_ASSERT_LE
    - TC_CHECK_EQ
    - TC_ASSERT_GE
    - TC_ASSERT
    - TC_ASSERT_EQ
    - TC_ASSERT_GT
    - TC_ASSERT_NE
    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_CHECK
    - TC_CHECK_GE
    - bar
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - TC_BUG
    - TC_ASSERT
    - TC_ASSERT_NE
    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:
    - f2
    - TC_CHECK_NE
    - f1
    - 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_NE
    - TC_CHECK_EQ
    - EXPECT_DEATH
    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:
    - TC_CHECK_LE
    - strcmp
    - default_want_numa_aware
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_EQ
    - NumCPUs
    - open_node_cpulist
    - signal_safe_close
    - ParseCpulist
    - std::optional::Count
    - signal_safe_read
    - std::optional::has_value
    - TC_BUG
    - signal_safe_open
    - TC_CHECK
    - std::optional::IsSet
    - snprintf
    - NodeToPartition
    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:
    - std::optional::Count
    - TC_CHECK
    - TC_CHECK_LE
    - open_node_cpulist
    - std::optional::IsSet
    - strcmp
    - tcmalloc_internal::signal_safe_read
    - std::optional::has_value
    - tcmalloc_internal::ParseCpulist
    - tcmalloc_internal::signal_safe_close
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_EQ
    - tcmalloc_internal::NodeToPartition
    - TC_BUG
    - tcmalloc_internal::default_want_numa_aware
    - tcmalloc_internal::NumCPUs
    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:
    - std::optional::Count
    - TC_CHECK
    - TC_CHECK_LE
    - open_node_cpulist
    - std::optional::IsSet
    - strcmp
    - tcmalloc_internal::signal_safe_read
    - std::optional::has_value
    - tcmalloc_internal::ParseCpulist
    - tcmalloc_internal::signal_safe_close
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_EQ
    - tcmalloc_internal::NodeToPartition
    - TC_BUG
    - tcmalloc_internal::default_want_numa_aware
    - tcmalloc_internal::NumCPUs
    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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    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:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - end
    - reinterpret_cast<uintptr_t>
    - find
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:120,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - tcmalloc_internal::StackTraceFilter::Contains
    - auto::mapping
    - ASSERT_LT
    - std::move
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - id
    - filename
    - ProfileBuilder::AddCurrentMappings
    - absl::flat_hash_set::emplace
    - EXPECT_THAT
    - ASSERT_GE
    - auto::mapping_size
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      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: 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: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::InternLocation
    - auto::mapping
    - std::move
    - absl::bit_cast<const void*>
    - ASSERT_EQ
    - EXPECT_EQ
    - mapping_id
    - EXPECT_TRUE
    - id
    - address
    - auto::location
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:182,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      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_start
      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::memory_limit
      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::file_offset
      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::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:219,1
    - Dst: static_cast<uint64_t>
      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: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::memory_start
    - ProfileBuilder::InternLocation
    - std::move
    - absl::bit_cast<const void*>
    - EXPECT_EQ
    - std::vector::emplace_back
    - EXPECT_THAT
    - std::tie
    - static_cast<uint64_t>
    - testing::UnorderedElementsAreArray
    - auto::id
    - auto::string_table
    - mapping_id
    - auto::file_offset
    - ProfileBuilder::AddMapping
    - ASSERT_EQ
    - id
    - address
    - auto::mapping
    - auto::filename
    - auto::memory_limit
    - auto::location
    - auto::build_id
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:231,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - absl::flat_hash_set::reserve
    - ASSERT_FALSE
    - 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:252,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:252,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:269,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: testing::Eq
      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: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:274,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:309,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:313,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 322
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - EXPECT_LT
    - EXPECT_EQ
    - Not
    - EXPECT_TRUE
    - EXPECT_FALSE
    - testing::IsSubsetOf
    - sample_type
    - EXPECT_THAT
    - back
    - absl::flat_hash_set::insert
    - mapping_id
    - static_cast<int>
    - absl::flat_hash_set::reserve
    - ASSERT_THAT
    - ASSERT_FALSE
    - mapping
    - address
    - EXPECT_LE
    - id
    - num
    - key
    - string_table
    - mapping_size
    - memory_start
    - location_id
    - memory_limit
    - label
    - absl::flat_hash_set<int>
    - EXPECT_GE
    - absl::flat_hash_map::emplace
    - ASSERT_LT
    - value
    - absl::flat_hash_map::at
    - location
    - emplace_back
    - str
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    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:334,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:335,1
    - Dst: std::vector::data
      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:357,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:358,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:360,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:361,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:371,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:375,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:384,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:385,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:387,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:388,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:405,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:406,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:407,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:408,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:418,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:420,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:434,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:446,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:447,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:448,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:475,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:476,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:477,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:479,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:493,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:495,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:498,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:501,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 504
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - CHECK_NE
    - std::make_unique<FakeProfile>
    - CHECK_EQ
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::move
    - auto::SetStartTime
    - std::vector::emplace_back
    - mmap
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    - StubPageFlags*::set_bytes_locked
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - GetPageSize
    - StubPageFlags*::set_bytes_stale
    - munmap
    - CHECK_OK
    - StubPageFlags*::set_stale_scan_period
    - auto::SetDuration
    - auto::status
    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:507,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:508,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:516,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:526,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:532,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:534,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:544,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 548
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - Each
    - Pair
    - Key
    - absl::Milliseconds
    - EXPECT_EQ
    - Not
    - AnyOf
    - sample_type
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - absl::flat_hash_set::insert
    - key
    - string_table
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:551,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:558,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:559,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:564,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:576,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:585,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:603,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: Pair
      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:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: UnorderedElementsAre
      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: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:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      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:630,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      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:636,1
    - Dst: UnorderedElementsAre
      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: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:639,1
    - Dst: Pair
      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:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:646,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      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: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:653,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      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: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: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      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: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: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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:671,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:677,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:683,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:686,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:687,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:689,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:692,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:695,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:697,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:698,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:701,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:713,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 732
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - keep_frames
    - Each
    - period_type
    - SCOPED_TRACE
    - Pair
    - value_size
    - ASSERT_GE
    - Key
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Not
    - AnyOf
    - IsSupersetOf
    - sample_type
    - std::vector::emplace_back
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - drop_frames
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - key
    - sample_type_size
    - std::vector::back
    - string_table
    - duration_nanos
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - period
    - value
    - SizeIs
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:738,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:739,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: auto::SetStartTime
      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:747,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:756,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:759,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: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:777,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:799,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:801,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:808,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:812,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 821
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - std::make_unique<FakeProfile>
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - ASSERT_GE
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - std::move
    - auto::SetStartTime
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - auto::ok
    - UnorderedElementsAre
    - auto::SetDuration
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:825,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:826,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:827,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:828,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:843,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:844,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:845,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:846,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:857,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:858,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:859,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:860,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:861,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:864,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:871,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - start_time
    - duration
    argTypes:
    - absl::Time
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 892
    functionName: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::Nanoseconds
    - reinterpret_cast<void*>
    - absl::bit_cast<void*>
    - std::move
    - auto::SetSamples
    - auto::SetStartTime
    - CHECK_OK
    - std::make_unique<FakeProfile>
    - auto::SetDuration
    - auto::status
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestLifetimeProfile(absl::Time start_time,\n
      \                                                    absl::Duration duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:895,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: auto::sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: auto::sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:948,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:961,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: auto::duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: auto::time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: absl::ToUnixNanos
      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: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    - Dst: auto::period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 998
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - auto::sample
    - auto::sample_type_size
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - at
    - absl::Now
    - EXPECT_THAT
    - auto::duration_nanos
    - auto::string_table
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - auto::sample_type
    - auto::keep_frames
    - UnorderedElementsAre
    - auto::time_nanos
    - auto::sample_size
    - auto::drop_frames
    - auto::period_type
    - ASSERT_NO_FATAL_FAILURE
    - auto::period
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1001,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1002,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1012,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1026,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1028,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1042,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainerEq
    - absl::flat_hash_set::insert
    - ExtractTags
    - absl::Milliseconds
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - testing::IsSupersetOf
    - key
    - auto::erase
    - absl::Now
    - EXPECT_THAT
    - string_table
    - label
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, SameTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1053,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1057,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1059,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1061,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1065,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1066,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1067,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1068,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1072,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1073,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:1090,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1092,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1094,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1096,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1098,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1102,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1104,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1105,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1109,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1110,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    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:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - end
    - reinterpret_cast<uintptr_t>
    - find
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:120,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - tcmalloc_internal::StackTraceFilter::Contains
    - auto::mapping
    - ASSERT_LT
    - std::move
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - id
    - filename
    - ProfileBuilder::AddCurrentMappings
    - absl::flat_hash_set::emplace
    - EXPECT_THAT
    - ASSERT_GE
    - auto::mapping_size
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      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: 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: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::InternLocation
    - auto::mapping
    - std::move
    - absl::bit_cast<const void*>
    - ASSERT_EQ
    - EXPECT_EQ
    - mapping_id
    - EXPECT_TRUE
    - id
    - address
    - auto::location
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:182,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      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_start
      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::memory_limit
      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::file_offset
      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::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:219,1
    - Dst: static_cast<uint64_t>
      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: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::memory_start
    - ProfileBuilder::InternLocation
    - std::move
    - absl::bit_cast<const void*>
    - EXPECT_EQ
    - std::vector::emplace_back
    - EXPECT_THAT
    - std::tie
    - static_cast<uint64_t>
    - testing::UnorderedElementsAreArray
    - auto::id
    - auto::string_table
    - mapping_id
    - auto::file_offset
    - ProfileBuilder::AddMapping
    - ASSERT_EQ
    - id
    - address
    - auto::mapping
    - auto::filename
    - auto::memory_limit
    - auto::location
    - auto::build_id
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:231,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - absl::flat_hash_set::reserve
    - ASSERT_FALSE
    - 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:252,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:252,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:269,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: testing::Eq
      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: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:274,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:309,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:313,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 322
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 3
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - EXPECT_LT
    - EXPECT_EQ
    - Not
    - EXPECT_TRUE
    - EXPECT_FALSE
    - testing::IsSubsetOf
    - sample_type
    - EXPECT_THAT
    - back
    - absl::flat_hash_set::insert
    - mapping_id
    - static_cast<int>
    - absl::flat_hash_set::reserve
    - ASSERT_THAT
    - ASSERT_FALSE
    - mapping
    - address
    - EXPECT_LE
    - id
    - num
    - key
    - string_table
    - mapping_size
    - memory_start
    - location_id
    - memory_limit
    - label
    - absl::flat_hash_set<int>
    - EXPECT_GE
    - absl::flat_hash_map::emplace
    - ASSERT_LT
    - value
    - absl::flat_hash_map::at
    - location
    - emplace_back
    - str
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    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:334,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:335,1
    - Dst: std::vector::data
      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:357,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:358,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:360,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:361,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:371,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:375,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:384,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:385,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:387,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:388,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:405,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:406,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:407,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:408,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:418,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:420,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:434,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:446,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:447,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:448,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:475,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:476,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:477,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:479,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:493,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:495,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:498,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:501,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 504
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 3
    functionsReached:
    - absl::bit_cast<void*>
    - CHECK_NE
    - std::make_unique<FakeProfile>
    - CHECK_EQ
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::move
    - auto::SetStartTime
    - std::vector::emplace_back
    - mmap
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    - StubPageFlags*::set_bytes_locked
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - GetPageSize
    - StubPageFlags*::set_bytes_stale
    - munmap
    - CHECK_OK
    - StubPageFlags*::set_stale_scan_period
    - auto::SetDuration
    - auto::status
    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:507,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:508,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:516,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:526,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:532,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:534,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:544,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 548
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - Each
    - Pair
    - Key
    - absl::Milliseconds
    - EXPECT_EQ
    - Not
    - AnyOf
    - sample_type
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - absl::flat_hash_set::insert
    - key
    - string_table
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:551,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:558,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:559,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:564,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:576,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:585,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:603,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: Pair
      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:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: UnorderedElementsAre
      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: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:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      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:630,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      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:636,1
    - Dst: UnorderedElementsAre
      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: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:639,1
    - Dst: Pair
      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:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:646,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      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: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:653,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      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: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: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      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: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: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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:671,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:677,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:683,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:686,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:687,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:689,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:692,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:695,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:697,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:698,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:701,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:713,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 732
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - keep_frames
    - Each
    - period_type
    - SCOPED_TRACE
    - Pair
    - value_size
    - ASSERT_GE
    - Key
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Not
    - AnyOf
    - IsSupersetOf
    - sample_type
    - std::vector::emplace_back
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - drop_frames
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - key
    - sample_type_size
    - std::vector::back
    - string_table
    - duration_nanos
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - period
    - value
    - SizeIs
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:738,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:739,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: auto::SetStartTime
      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:747,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:756,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:759,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: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:777,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:799,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:801,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:808,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:812,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 821
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - std::make_unique<FakeProfile>
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - ASSERT_GE
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - std::move
    - auto::SetStartTime
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - auto::ok
    - UnorderedElementsAre
    - auto::SetDuration
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:825,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:826,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:827,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:828,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:843,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:844,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:845,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:846,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:857,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:858,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:859,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:860,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:861,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:864,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:871,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - start_time
    - duration
    argTypes:
    - absl::Time
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 892
    functionName: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 2
    functionsReached:
    - absl::Nanoseconds
    - reinterpret_cast<void*>
    - absl::bit_cast<void*>
    - std::move
    - auto::SetSamples
    - auto::SetStartTime
    - CHECK_OK
    - std::make_unique<FakeProfile>
    - auto::SetDuration
    - auto::status
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestLifetimeProfile(absl::Time start_time,\n
      \                                                    absl::Duration duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:895,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: auto::sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: auto::sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:948,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:961,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: auto::duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: auto::time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: absl::ToUnixNanos
      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: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    - Dst: auto::period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 998
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - auto::sample
    - auto::sample_type_size
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - at
    - absl::Now
    - EXPECT_THAT
    - auto::duration_nanos
    - auto::string_table
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - auto::sample_type
    - auto::keep_frames
    - UnorderedElementsAre
    - auto::time_nanos
    - auto::sample_size
    - auto::drop_frames
    - auto::period_type
    - ASSERT_NO_FATAL_FAILURE
    - auto::period
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1001,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1002,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1012,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1026,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1028,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1042,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainerEq
    - absl::flat_hash_set::insert
    - ExtractTags
    - absl::Milliseconds
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - testing::IsSupersetOf
    - key
    - auto::erase
    - absl::Now
    - EXPECT_THAT
    - string_table
    - label
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, SameTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1053,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1057,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1059,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1061,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1065,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1066,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1067,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1068,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1072,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1073,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:1090,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1092,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1094,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1096,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1098,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1102,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1104,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1105,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1109,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1110,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    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:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - end
    - reinterpret_cast<uintptr_t>
    - find
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:120,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - tcmalloc_internal::StackTraceFilter::Contains
    - auto::mapping
    - ASSERT_LT
    - std::move
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - id
    - filename
    - ProfileBuilder::AddCurrentMappings
    - absl::flat_hash_set::emplace
    - EXPECT_THAT
    - ASSERT_GE
    - auto::mapping_size
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      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: 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: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::InternLocation
    - auto::mapping
    - std::move
    - absl::bit_cast<const void*>
    - ASSERT_EQ
    - EXPECT_EQ
    - mapping_id
    - EXPECT_TRUE
    - id
    - address
    - auto::location
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:182,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      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_start
      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::memory_limit
      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::file_offset
      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::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:219,1
    - Dst: static_cast<uint64_t>
      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: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::memory_start
    - ProfileBuilder::InternLocation
    - std::move
    - absl::bit_cast<const void*>
    - EXPECT_EQ
    - std::vector::emplace_back
    - EXPECT_THAT
    - std::tie
    - static_cast<uint64_t>
    - testing::UnorderedElementsAreArray
    - auto::id
    - auto::string_table
    - mapping_id
    - auto::file_offset
    - ProfileBuilder::AddMapping
    - ASSERT_EQ
    - id
    - address
    - auto::mapping
    - auto::filename
    - auto::memory_limit
    - auto::location
    - auto::build_id
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:231,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - absl::flat_hash_set::reserve
    - ASSERT_FALSE
    - 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:252,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:252,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:269,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: testing::Eq
      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: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:274,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:309,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:313,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 322
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 6
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - EXPECT_LT
    - EXPECT_EQ
    - Not
    - EXPECT_TRUE
    - EXPECT_FALSE
    - testing::IsSubsetOf
    - sample_type
    - EXPECT_THAT
    - back
    - absl::flat_hash_set::insert
    - mapping_id
    - static_cast<int>
    - absl::flat_hash_set::reserve
    - ASSERT_THAT
    - ASSERT_FALSE
    - mapping
    - address
    - EXPECT_LE
    - id
    - num
    - key
    - string_table
    - mapping_size
    - memory_start
    - location_id
    - memory_limit
    - label
    - absl::flat_hash_set<int>
    - EXPECT_GE
    - absl::flat_hash_map::emplace
    - ASSERT_LT
    - value
    - absl::flat_hash_map::at
    - location
    - emplace_back
    - str
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    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:334,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:335,1
    - Dst: std::vector::data
      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:357,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:358,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:360,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:361,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:371,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:375,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:384,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:385,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:387,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:388,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:405,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:406,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:407,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:408,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:418,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:420,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:434,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:446,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:447,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:448,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:475,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:476,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:477,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:479,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:493,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:495,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:498,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:501,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 504
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 6
    functionsReached:
    - absl::bit_cast<void*>
    - CHECK_NE
    - std::make_unique<FakeProfile>
    - CHECK_EQ
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::move
    - auto::SetStartTime
    - std::vector::emplace_back
    - mmap
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    - StubPageFlags*::set_bytes_locked
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - GetPageSize
    - StubPageFlags*::set_bytes_stale
    - munmap
    - CHECK_OK
    - StubPageFlags*::set_stale_scan_period
    - auto::SetDuration
    - auto::status
    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:507,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:508,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:516,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:526,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:532,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:534,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:544,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 548
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - Each
    - Pair
    - Key
    - absl::Milliseconds
    - EXPECT_EQ
    - Not
    - AnyOf
    - sample_type
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - absl::flat_hash_set::insert
    - key
    - string_table
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:551,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:558,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:559,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:564,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:576,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:585,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:603,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: Pair
      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:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: UnorderedElementsAre
      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: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:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      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:630,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      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:636,1
    - Dst: UnorderedElementsAre
      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: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:639,1
    - Dst: Pair
      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:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:646,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      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: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:653,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      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: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: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      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: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: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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:671,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:677,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:683,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:686,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:687,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:689,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:692,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:695,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:697,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:698,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:701,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:713,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 732
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - keep_frames
    - Each
    - period_type
    - SCOPED_TRACE
    - Pair
    - value_size
    - ASSERT_GE
    - Key
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Not
    - AnyOf
    - IsSupersetOf
    - sample_type
    - std::vector::emplace_back
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - drop_frames
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - key
    - sample_type_size
    - std::vector::back
    - string_table
    - duration_nanos
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - period
    - value
    - SizeIs
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:738,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:739,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: auto::SetStartTime
      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:747,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:756,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:759,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: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:777,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:799,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:801,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:808,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:812,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 821
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - std::make_unique<FakeProfile>
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - ASSERT_GE
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - std::move
    - auto::SetStartTime
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - auto::ok
    - UnorderedElementsAre
    - auto::SetDuration
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:825,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:826,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:827,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:828,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:843,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:844,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:845,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:846,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:857,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:858,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:859,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:860,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:861,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:864,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:871,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - start_time
    - duration
    argTypes:
    - absl::Time
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 892
    functionName: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 4
    functionsReached:
    - absl::Nanoseconds
    - reinterpret_cast<void*>
    - absl::bit_cast<void*>
    - std::move
    - auto::SetSamples
    - auto::SetStartTime
    - CHECK_OK
    - std::make_unique<FakeProfile>
    - auto::SetDuration
    - auto::status
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestLifetimeProfile(absl::Time start_time,\n
      \                                                    absl::Duration duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:895,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: auto::sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: auto::sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:948,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:961,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: auto::duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: auto::time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: absl::ToUnixNanos
      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: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    - Dst: auto::period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 998
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - auto::sample
    - auto::sample_type_size
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - at
    - absl::Now
    - EXPECT_THAT
    - auto::duration_nanos
    - auto::string_table
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - auto::sample_type
    - auto::keep_frames
    - UnorderedElementsAre
    - auto::time_nanos
    - auto::sample_size
    - auto::drop_frames
    - auto::period_type
    - ASSERT_NO_FATAL_FAILURE
    - auto::period
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1001,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1002,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1012,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1026,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1028,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1042,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainerEq
    - absl::flat_hash_set::insert
    - ExtractTags
    - absl::Milliseconds
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - testing::IsSupersetOf
    - key
    - auto::erase
    - absl::Now
    - EXPECT_THAT
    - string_table
    - label
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, SameTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1053,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1057,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1059,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1061,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1065,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1066,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1067,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1068,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1072,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1073,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:1090,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1092,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1094,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1096,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1098,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1102,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1104,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1105,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1109,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1110,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    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:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - end
    - reinterpret_cast<uintptr_t>
    - find
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:120,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - tcmalloc_internal::StackTraceFilter::Contains
    - auto::mapping
    - ASSERT_LT
    - std::move
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - id
    - filename
    - ProfileBuilder::AddCurrentMappings
    - absl::flat_hash_set::emplace
    - EXPECT_THAT
    - ASSERT_GE
    - auto::mapping_size
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      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: 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: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::InternLocation
    - auto::mapping
    - std::move
    - absl::bit_cast<const void*>
    - ASSERT_EQ
    - EXPECT_EQ
    - mapping_id
    - EXPECT_TRUE
    - id
    - address
    - auto::location
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:182,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      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_start
      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::memory_limit
      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::file_offset
      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::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:219,1
    - Dst: static_cast<uint64_t>
      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: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::memory_start
    - ProfileBuilder::InternLocation
    - std::move
    - absl::bit_cast<const void*>
    - EXPECT_EQ
    - std::vector::emplace_back
    - EXPECT_THAT
    - std::tie
    - static_cast<uint64_t>
    - testing::UnorderedElementsAreArray
    - auto::id
    - auto::string_table
    - mapping_id
    - auto::file_offset
    - ProfileBuilder::AddMapping
    - ASSERT_EQ
    - id
    - address
    - auto::mapping
    - auto::filename
    - auto::memory_limit
    - auto::location
    - auto::build_id
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:231,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - absl::flat_hash_set::reserve
    - ASSERT_FALSE
    - 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:252,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:252,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:269,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: testing::Eq
      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: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:274,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:309,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:313,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 322
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 9
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - EXPECT_LT
    - EXPECT_EQ
    - Not
    - EXPECT_TRUE
    - EXPECT_FALSE
    - testing::IsSubsetOf
    - sample_type
    - EXPECT_THAT
    - back
    - absl::flat_hash_set::insert
    - mapping_id
    - static_cast<int>
    - absl::flat_hash_set::reserve
    - ASSERT_THAT
    - ASSERT_FALSE
    - mapping
    - address
    - EXPECT_LE
    - id
    - num
    - key
    - string_table
    - mapping_size
    - memory_start
    - location_id
    - memory_limit
    - label
    - absl::flat_hash_set<int>
    - EXPECT_GE
    - absl::flat_hash_map::emplace
    - ASSERT_LT
    - value
    - absl::flat_hash_map::at
    - location
    - emplace_back
    - str
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    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:334,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:335,1
    - Dst: std::vector::data
      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:357,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:358,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:360,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:361,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:371,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:375,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:384,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:385,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:387,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:388,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:405,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:406,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:407,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:408,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:418,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:420,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:434,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:446,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:447,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:448,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:475,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:476,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:477,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:479,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:493,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:495,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:498,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:501,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 504
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 9
    functionsReached:
    - absl::bit_cast<void*>
    - CHECK_NE
    - std::make_unique<FakeProfile>
    - CHECK_EQ
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::move
    - auto::SetStartTime
    - std::vector::emplace_back
    - mmap
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    - StubPageFlags*::set_bytes_locked
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - GetPageSize
    - StubPageFlags*::set_bytes_stale
    - munmap
    - CHECK_OK
    - StubPageFlags*::set_stale_scan_period
    - auto::SetDuration
    - auto::status
    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:507,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:508,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:516,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:526,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:532,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:534,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:544,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 548
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - Each
    - Pair
    - Key
    - absl::Milliseconds
    - EXPECT_EQ
    - Not
    - AnyOf
    - sample_type
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - absl::flat_hash_set::insert
    - key
    - string_table
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:551,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:558,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:559,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:564,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:576,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:585,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:603,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: Pair
      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:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: UnorderedElementsAre
      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: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:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      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:630,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      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:636,1
    - Dst: UnorderedElementsAre
      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: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:639,1
    - Dst: Pair
      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:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:646,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      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: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:653,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      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: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: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      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: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: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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:671,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:677,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:683,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:686,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:687,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:689,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:692,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:695,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:697,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:698,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:701,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:713,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 732
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - keep_frames
    - Each
    - period_type
    - SCOPED_TRACE
    - Pair
    - value_size
    - ASSERT_GE
    - Key
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Not
    - AnyOf
    - IsSupersetOf
    - sample_type
    - std::vector::emplace_back
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - drop_frames
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - key
    - sample_type_size
    - std::vector::back
    - string_table
    - duration_nanos
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - period
    - value
    - SizeIs
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:738,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:739,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: auto::SetStartTime
      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:747,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:756,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:759,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: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:777,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:799,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:801,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:808,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:812,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 821
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - std::make_unique<FakeProfile>
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - ASSERT_GE
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - std::move
    - auto::SetStartTime
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - auto::ok
    - UnorderedElementsAre
    - auto::SetDuration
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:825,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:826,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:827,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:828,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:843,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:844,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:845,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:846,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:857,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:858,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:859,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:860,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:861,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:864,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:871,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - start_time
    - duration
    argTypes:
    - absl::Time
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 892
    functionName: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 6
    functionsReached:
    - absl::Nanoseconds
    - reinterpret_cast<void*>
    - absl::bit_cast<void*>
    - std::move
    - auto::SetSamples
    - auto::SetStartTime
    - CHECK_OK
    - std::make_unique<FakeProfile>
    - auto::SetDuration
    - auto::status
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestLifetimeProfile(absl::Time start_time,\n
      \                                                    absl::Duration duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:895,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: auto::sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: auto::sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:948,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:961,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: auto::duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: auto::time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: absl::ToUnixNanos
      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: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    - Dst: auto::period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 998
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - auto::sample
    - auto::sample_type_size
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - at
    - absl::Now
    - EXPECT_THAT
    - auto::duration_nanos
    - auto::string_table
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - auto::sample_type
    - auto::keep_frames
    - UnorderedElementsAre
    - auto::time_nanos
    - auto::sample_size
    - auto::drop_frames
    - auto::period_type
    - ASSERT_NO_FATAL_FAILURE
    - auto::period
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1001,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1002,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1012,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1026,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1028,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1042,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainerEq
    - absl::flat_hash_set::insert
    - ExtractTags
    - absl::Milliseconds
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - testing::IsSupersetOf
    - key
    - auto::erase
    - absl::Now
    - EXPECT_THAT
    - string_table
    - label
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, SameTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1053,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1057,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1059,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1061,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1065,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1066,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1067,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1068,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1072,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1073,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:1090,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1092,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1094,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1096,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1098,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1102,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1104,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1105,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1109,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1110,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    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:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - end
    - reinterpret_cast<uintptr_t>
    - find
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:120,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - tcmalloc_internal::StackTraceFilter::Contains
    - auto::mapping
    - ASSERT_LT
    - std::move
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - id
    - filename
    - ProfileBuilder::AddCurrentMappings
    - absl::flat_hash_set::emplace
    - EXPECT_THAT
    - ASSERT_GE
    - auto::mapping_size
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      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: 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: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::InternLocation
    - auto::mapping
    - std::move
    - absl::bit_cast<const void*>
    - ASSERT_EQ
    - EXPECT_EQ
    - mapping_id
    - EXPECT_TRUE
    - id
    - address
    - auto::location
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:182,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      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_start
      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::memory_limit
      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::file_offset
      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::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:219,1
    - Dst: static_cast<uint64_t>
      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: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::memory_start
    - ProfileBuilder::InternLocation
    - std::move
    - absl::bit_cast<const void*>
    - EXPECT_EQ
    - std::vector::emplace_back
    - EXPECT_THAT
    - std::tie
    - static_cast<uint64_t>
    - testing::UnorderedElementsAreArray
    - auto::id
    - auto::string_table
    - mapping_id
    - auto::file_offset
    - ProfileBuilder::AddMapping
    - ASSERT_EQ
    - id
    - address
    - auto::mapping
    - auto::filename
    - auto::memory_limit
    - auto::location
    - auto::build_id
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:231,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - absl::flat_hash_set::reserve
    - ASSERT_FALSE
    - 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:252,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:252,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:269,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: testing::Eq
      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: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:274,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:309,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:313,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 322
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 12
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - EXPECT_LT
    - EXPECT_EQ
    - Not
    - EXPECT_TRUE
    - EXPECT_FALSE
    - testing::IsSubsetOf
    - sample_type
    - EXPECT_THAT
    - back
    - absl::flat_hash_set::insert
    - mapping_id
    - static_cast<int>
    - absl::flat_hash_set::reserve
    - ASSERT_THAT
    - ASSERT_FALSE
    - mapping
    - address
    - EXPECT_LE
    - id
    - num
    - key
    - string_table
    - mapping_size
    - memory_start
    - location_id
    - memory_limit
    - label
    - absl::flat_hash_set<int>
    - EXPECT_GE
    - absl::flat_hash_map::emplace
    - ASSERT_LT
    - value
    - absl::flat_hash_map::at
    - location
    - emplace_back
    - str
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    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:334,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:335,1
    - Dst: std::vector::data
      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:357,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:358,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:360,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:361,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:371,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:375,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:384,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:385,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:387,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:388,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:405,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:406,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:407,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:408,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:418,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:420,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:434,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:446,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:447,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:448,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:475,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:476,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:477,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:479,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:493,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:495,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:498,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:501,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 504
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 12
    functionsReached:
    - absl::bit_cast<void*>
    - CHECK_NE
    - std::make_unique<FakeProfile>
    - CHECK_EQ
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::move
    - auto::SetStartTime
    - std::vector::emplace_back
    - mmap
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    - StubPageFlags*::set_bytes_locked
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - GetPageSize
    - StubPageFlags*::set_bytes_stale
    - munmap
    - CHECK_OK
    - StubPageFlags*::set_stale_scan_period
    - auto::SetDuration
    - auto::status
    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:507,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:508,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:516,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:526,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:532,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:534,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:544,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 548
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - Each
    - Pair
    - Key
    - absl::Milliseconds
    - EXPECT_EQ
    - Not
    - AnyOf
    - sample_type
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - absl::flat_hash_set::insert
    - key
    - string_table
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:551,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:558,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:559,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:564,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:576,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:585,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:603,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: Pair
      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:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: UnorderedElementsAre
      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: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:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      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:630,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      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:636,1
    - Dst: UnorderedElementsAre
      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: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:639,1
    - Dst: Pair
      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:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:646,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      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: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:653,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      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: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: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      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: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: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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:671,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:677,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:683,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:686,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:687,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:689,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:692,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:695,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:697,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:698,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:701,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:713,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 732
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - keep_frames
    - Each
    - period_type
    - SCOPED_TRACE
    - Pair
    - value_size
    - ASSERT_GE
    - Key
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Not
    - AnyOf
    - IsSupersetOf
    - sample_type
    - std::vector::emplace_back
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - drop_frames
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - key
    - sample_type_size
    - std::vector::back
    - string_table
    - duration_nanos
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - period
    - value
    - SizeIs
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:738,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:739,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: auto::SetStartTime
      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:747,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:756,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:759,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: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:777,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:799,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:801,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:808,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:812,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 821
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - std::make_unique<FakeProfile>
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - ASSERT_GE
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - std::move
    - auto::SetStartTime
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - auto::ok
    - UnorderedElementsAre
    - auto::SetDuration
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:825,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:826,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:827,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:828,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:843,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:844,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:845,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:846,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:857,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:858,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:859,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:860,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:861,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:864,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:871,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - start_time
    - duration
    argTypes:
    - absl::Time
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 892
    functionName: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 8
    functionsReached:
    - absl::Nanoseconds
    - reinterpret_cast<void*>
    - absl::bit_cast<void*>
    - std::move
    - auto::SetSamples
    - auto::SetStartTime
    - CHECK_OK
    - std::make_unique<FakeProfile>
    - auto::SetDuration
    - auto::status
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestLifetimeProfile(absl::Time start_time,\n
      \                                                    absl::Duration duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:895,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: auto::sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: auto::sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:948,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:961,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: auto::duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: auto::time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: absl::ToUnixNanos
      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: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    - Dst: auto::period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 998
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - auto::sample
    - auto::sample_type_size
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - at
    - absl::Now
    - EXPECT_THAT
    - auto::duration_nanos
    - auto::string_table
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - auto::sample_type
    - auto::keep_frames
    - UnorderedElementsAre
    - auto::time_nanos
    - auto::sample_size
    - auto::drop_frames
    - auto::period_type
    - ASSERT_NO_FATAL_FAILURE
    - auto::period
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1001,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1002,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1012,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1026,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1028,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1042,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainerEq
    - absl::flat_hash_set::insert
    - ExtractTags
    - absl::Milliseconds
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - testing::IsSupersetOf
    - key
    - auto::erase
    - absl::Now
    - EXPECT_THAT
    - string_table
    - label
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, SameTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1053,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1057,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1059,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1061,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1065,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1066,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1067,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1068,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1072,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1073,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:1090,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1092,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1094,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1096,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1098,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1102,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1104,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1105,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1109,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1110,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    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:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - end
    - reinterpret_cast<uintptr_t>
    - find
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:120,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - tcmalloc_internal::StackTraceFilter::Contains
    - auto::mapping
    - ASSERT_LT
    - std::move
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - id
    - filename
    - ProfileBuilder::AddCurrentMappings
    - absl::flat_hash_set::emplace
    - EXPECT_THAT
    - ASSERT_GE
    - auto::mapping_size
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      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: 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: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::InternLocation
    - auto::mapping
    - std::move
    - absl::bit_cast<const void*>
    - ASSERT_EQ
    - EXPECT_EQ
    - mapping_id
    - EXPECT_TRUE
    - id
    - address
    - auto::location
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:182,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      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_start
      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::memory_limit
      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::file_offset
      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::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:219,1
    - Dst: static_cast<uint64_t>
      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: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::memory_start
    - ProfileBuilder::InternLocation
    - std::move
    - absl::bit_cast<const void*>
    - EXPECT_EQ
    - std::vector::emplace_back
    - EXPECT_THAT
    - std::tie
    - static_cast<uint64_t>
    - testing::UnorderedElementsAreArray
    - auto::id
    - auto::string_table
    - mapping_id
    - auto::file_offset
    - ProfileBuilder::AddMapping
    - ASSERT_EQ
    - id
    - address
    - auto::mapping
    - auto::filename
    - auto::memory_limit
    - auto::location
    - auto::build_id
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:231,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - absl::flat_hash_set::reserve
    - ASSERT_FALSE
    - 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:252,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:252,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:269,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: testing::Eq
      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: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:274,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:309,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:313,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 322
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 15
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - EXPECT_LT
    - EXPECT_EQ
    - Not
    - EXPECT_TRUE
    - EXPECT_FALSE
    - testing::IsSubsetOf
    - sample_type
    - EXPECT_THAT
    - back
    - absl::flat_hash_set::insert
    - mapping_id
    - static_cast<int>
    - absl::flat_hash_set::reserve
    - ASSERT_THAT
    - ASSERT_FALSE
    - mapping
    - address
    - EXPECT_LE
    - id
    - num
    - key
    - string_table
    - mapping_size
    - memory_start
    - location_id
    - memory_limit
    - label
    - absl::flat_hash_set<int>
    - EXPECT_GE
    - absl::flat_hash_map::emplace
    - ASSERT_LT
    - value
    - absl::flat_hash_map::at
    - location
    - emplace_back
    - str
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    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:334,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:335,1
    - Dst: std::vector::data
      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:357,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:358,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:360,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:361,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:371,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:375,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:384,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:385,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:387,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:388,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:405,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:406,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:407,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:408,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:418,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:420,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:434,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:446,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:447,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:448,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:475,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:476,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:477,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:479,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:493,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:495,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:498,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:501,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 504
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 15
    functionsReached:
    - absl::bit_cast<void*>
    - CHECK_NE
    - std::make_unique<FakeProfile>
    - CHECK_EQ
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::move
    - auto::SetStartTime
    - std::vector::emplace_back
    - mmap
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    - StubPageFlags*::set_bytes_locked
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - GetPageSize
    - StubPageFlags*::set_bytes_stale
    - munmap
    - CHECK_OK
    - StubPageFlags*::set_stale_scan_period
    - auto::SetDuration
    - auto::status
    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:507,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:508,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:516,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:526,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:532,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:534,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:544,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 548
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - Each
    - Pair
    - Key
    - absl::Milliseconds
    - EXPECT_EQ
    - Not
    - AnyOf
    - sample_type
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - absl::flat_hash_set::insert
    - key
    - string_table
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:551,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:558,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:559,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:564,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:576,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:585,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:603,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: Pair
      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:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: UnorderedElementsAre
      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: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:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      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:630,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      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:636,1
    - Dst: UnorderedElementsAre
      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: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:639,1
    - Dst: Pair
      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:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:646,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      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: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:653,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      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: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: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      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: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: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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:671,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:677,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:683,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:686,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:687,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:689,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:692,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:695,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:697,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:698,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:701,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:713,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 732
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - keep_frames
    - Each
    - period_type
    - SCOPED_TRACE
    - Pair
    - value_size
    - ASSERT_GE
    - Key
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Not
    - AnyOf
    - IsSupersetOf
    - sample_type
    - std::vector::emplace_back
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - drop_frames
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - key
    - sample_type_size
    - std::vector::back
    - string_table
    - duration_nanos
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - period
    - value
    - SizeIs
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:738,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:739,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: auto::SetStartTime
      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:747,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:756,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:759,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: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:777,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:799,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:801,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:808,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:812,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 821
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - std::make_unique<FakeProfile>
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - ASSERT_GE
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - std::move
    - auto::SetStartTime
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - auto::ok
    - UnorderedElementsAre
    - auto::SetDuration
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:825,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:826,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:827,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:828,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:843,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:844,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:845,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:846,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:857,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:858,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:859,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:860,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:861,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:864,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:871,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - start_time
    - duration
    argTypes:
    - absl::Time
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 892
    functionName: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 10
    functionsReached:
    - absl::Nanoseconds
    - reinterpret_cast<void*>
    - absl::bit_cast<void*>
    - std::move
    - auto::SetSamples
    - auto::SetStartTime
    - CHECK_OK
    - std::make_unique<FakeProfile>
    - auto::SetDuration
    - auto::status
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestLifetimeProfile(absl::Time start_time,\n
      \                                                    absl::Duration duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:895,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: auto::sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: auto::sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:948,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:961,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: auto::duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: auto::time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: absl::ToUnixNanos
      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: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    - Dst: auto::period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 998
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - auto::sample
    - auto::sample_type_size
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - at
    - absl::Now
    - EXPECT_THAT
    - auto::duration_nanos
    - auto::string_table
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - auto::sample_type
    - auto::keep_frames
    - UnorderedElementsAre
    - auto::time_nanos
    - auto::sample_size
    - auto::drop_frames
    - auto::period_type
    - ASSERT_NO_FATAL_FAILURE
    - auto::period
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1001,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1002,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1012,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1026,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1028,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1042,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainerEq
    - absl::flat_hash_set::insert
    - ExtractTags
    - absl::Milliseconds
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - testing::IsSupersetOf
    - key
    - auto::erase
    - absl::Now
    - EXPECT_THAT
    - string_table
    - label
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, SameTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1053,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1057,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1059,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1061,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1065,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1066,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1067,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1068,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1072,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1073,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:1090,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1092,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1094,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1096,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1098,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1102,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1104,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1105,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1109,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1110,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    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:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - end
    - reinterpret_cast<uintptr_t>
    - find
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:120,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - tcmalloc_internal::StackTraceFilter::Contains
    - auto::mapping
    - ASSERT_LT
    - std::move
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - id
    - filename
    - ProfileBuilder::AddCurrentMappings
    - absl::flat_hash_set::emplace
    - EXPECT_THAT
    - ASSERT_GE
    - auto::mapping_size
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      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: 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: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::InternLocation
    - auto::mapping
    - std::move
    - absl::bit_cast<const void*>
    - ASSERT_EQ
    - EXPECT_EQ
    - mapping_id
    - EXPECT_TRUE
    - id
    - address
    - auto::location
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:182,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      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_start
      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::memory_limit
      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::file_offset
      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::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:219,1
    - Dst: static_cast<uint64_t>
      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: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::memory_start
    - ProfileBuilder::InternLocation
    - std::move
    - absl::bit_cast<const void*>
    - EXPECT_EQ
    - std::vector::emplace_back
    - EXPECT_THAT
    - std::tie
    - static_cast<uint64_t>
    - testing::UnorderedElementsAreArray
    - auto::id
    - auto::string_table
    - mapping_id
    - auto::file_offset
    - ProfileBuilder::AddMapping
    - ASSERT_EQ
    - id
    - address
    - auto::mapping
    - auto::filename
    - auto::memory_limit
    - auto::location
    - auto::build_id
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:231,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - absl::flat_hash_set::reserve
    - ASSERT_FALSE
    - 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:252,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:252,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:269,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: testing::Eq
      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: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:274,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:309,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:313,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 322
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 18
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - EXPECT_LT
    - EXPECT_EQ
    - Not
    - EXPECT_TRUE
    - EXPECT_FALSE
    - testing::IsSubsetOf
    - sample_type
    - EXPECT_THAT
    - back
    - absl::flat_hash_set::insert
    - mapping_id
    - static_cast<int>
    - absl::flat_hash_set::reserve
    - ASSERT_THAT
    - ASSERT_FALSE
    - mapping
    - address
    - EXPECT_LE
    - id
    - num
    - key
    - string_table
    - mapping_size
    - memory_start
    - location_id
    - memory_limit
    - label
    - absl::flat_hash_set<int>
    - EXPECT_GE
    - absl::flat_hash_map::emplace
    - ASSERT_LT
    - value
    - absl::flat_hash_map::at
    - location
    - emplace_back
    - str
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    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:334,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:335,1
    - Dst: std::vector::data
      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:357,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:358,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:360,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:361,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:371,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:375,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:384,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:385,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:387,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:388,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:405,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:406,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:407,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:408,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:418,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:420,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:434,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:446,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:447,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:448,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:475,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:476,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:477,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:479,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:493,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:495,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:498,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:501,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 504
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 18
    functionsReached:
    - absl::bit_cast<void*>
    - CHECK_NE
    - std::make_unique<FakeProfile>
    - CHECK_EQ
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::move
    - auto::SetStartTime
    - std::vector::emplace_back
    - mmap
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    - StubPageFlags*::set_bytes_locked
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - GetPageSize
    - StubPageFlags*::set_bytes_stale
    - munmap
    - CHECK_OK
    - StubPageFlags*::set_stale_scan_period
    - auto::SetDuration
    - auto::status
    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:507,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:508,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:516,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:526,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:532,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:534,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:544,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 548
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - Each
    - Pair
    - Key
    - absl::Milliseconds
    - EXPECT_EQ
    - Not
    - AnyOf
    - sample_type
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - absl::flat_hash_set::insert
    - key
    - string_table
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:551,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:558,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:559,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:564,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:576,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:585,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:603,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: Pair
      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:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: UnorderedElementsAre
      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: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:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      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:630,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      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:636,1
    - Dst: UnorderedElementsAre
      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: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:639,1
    - Dst: Pair
      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:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:646,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      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: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:653,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      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: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: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      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: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: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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:671,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:677,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:683,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:686,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:687,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:689,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:692,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:695,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:697,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:698,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:701,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:713,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 732
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - keep_frames
    - Each
    - period_type
    - SCOPED_TRACE
    - Pair
    - value_size
    - ASSERT_GE
    - Key
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Not
    - AnyOf
    - IsSupersetOf
    - sample_type
    - std::vector::emplace_back
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - drop_frames
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - key
    - sample_type_size
    - std::vector::back
    - string_table
    - duration_nanos
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - period
    - value
    - SizeIs
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:738,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:739,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: auto::SetStartTime
      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:747,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:756,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:759,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: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:777,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:799,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:801,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:808,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:812,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 821
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - std::make_unique<FakeProfile>
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - ASSERT_GE
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - std::move
    - auto::SetStartTime
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - auto::ok
    - UnorderedElementsAre
    - auto::SetDuration
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:825,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:826,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:827,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:828,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:843,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:844,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:845,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:846,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:857,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:858,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:859,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:860,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:861,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:864,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:871,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - start_time
    - duration
    argTypes:
    - absl::Time
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 892
    functionName: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 12
    functionsReached:
    - absl::Nanoseconds
    - reinterpret_cast<void*>
    - absl::bit_cast<void*>
    - std::move
    - auto::SetSamples
    - auto::SetStartTime
    - CHECK_OK
    - std::make_unique<FakeProfile>
    - auto::SetDuration
    - auto::status
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestLifetimeProfile(absl::Time start_time,\n
      \                                                    absl::Duration duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:895,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: auto::sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: auto::sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:948,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:961,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: auto::duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: auto::time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: absl::ToUnixNanos
      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: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    - Dst: auto::period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 998
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - auto::sample
    - auto::sample_type_size
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - at
    - absl::Now
    - EXPECT_THAT
    - auto::duration_nanos
    - auto::string_table
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - auto::sample_type
    - auto::keep_frames
    - UnorderedElementsAre
    - auto::time_nanos
    - auto::sample_size
    - auto::drop_frames
    - auto::period_type
    - ASSERT_NO_FATAL_FAILURE
    - auto::period
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1001,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1002,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1012,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1026,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1028,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1042,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainerEq
    - absl::flat_hash_set::insert
    - ExtractTags
    - absl::Milliseconds
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - testing::IsSupersetOf
    - key
    - auto::erase
    - absl::Now
    - EXPECT_THAT
    - string_table
    - label
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, SameTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1053,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1057,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1059,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1061,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1065,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1066,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1067,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1068,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1072,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1073,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:1090,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1092,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1094,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1096,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1098,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1102,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1104,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1105,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1109,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1110,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    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:75,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:76,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    - Dst: end
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: tcmalloc::tcmalloc_internal::StubPageFlags::Get
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - end
    - reinterpret_cast<uintptr_t>
    - find
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - stale
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - locked
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    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: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:120,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:124,1
    - Dst: filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:125,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:126,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:127,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:129,1
    - Dst: absl::flat_hash_set::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:130,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: auto::mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: tcmalloc::tcmalloc_internal::RealPath
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - tcmalloc_internal::StackTraceFilter::Contains
    - auto::mapping
    - ASSERT_LT
    - std::move
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::RealPath
    - Not
    - id
    - filename
    - ProfileBuilder::AddCurrentMappings
    - absl::flat_hash_set::emplace
    - EXPECT_THAT
    - ASSERT_GE
    - auto::mapping_size
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, Mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:147,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:151,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:154,1
    - Dst: auto::location
      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: 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: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::InternLocation
    - auto::mapping
    - std::move
    - absl::bit_cast<const void*>
    - ASSERT_EQ
    - EXPECT_EQ
    - mapping_id
    - EXPECT_TRUE
    - id
    - address
    - auto::location
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTableNoMappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::SetDocURL
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    - Dst: absl::Status::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - ProfileBuilder::SetDocURL
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::Status::ok
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, DocURL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProfileBuilder::AddMapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:182,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:187,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:189,1
    - Dst: ProfileBuilder::InternLocation
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: absl::bit_cast<const void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:191,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:193,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:196,1
    - Dst: auto::mapping
      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_start
      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::memory_limit
      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::file_offset
      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::filename
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: auto::build_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:202,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    - Dst: auto::location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:215,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:216,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:217,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:218,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:219,1
    - Dst: static_cast<uint64_t>
      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: auto::id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:223,1
    - Dst: static_cast<uint64_t>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::memory_start
    - ProfileBuilder::InternLocation
    - std::move
    - absl::bit_cast<const void*>
    - EXPECT_EQ
    - std::vector::emplace_back
    - EXPECT_THAT
    - std::tie
    - static_cast<uint64_t>
    - testing::UnorderedElementsAreArray
    - auto::id
    - auto::string_table
    - mapping_id
    - auto::file_offset
    - ProfileBuilder::AddMapping
    - ASSERT_EQ
    - id
    - address
    - auto::mapping
    - auto::filename
    - auto::memory_limit
    - auto::location
    - auto::build_id
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LocationTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:210,1
    - Dst: std::tie
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SimpleLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:231,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:235,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:239,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:240,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: absl::flat_hash_set::size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    - Dst: auto::string_table_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto::string_table
    - absl::flat_hash_set::size
    - auto::string_table_size
    - absl::flat_hash_set::insert
    - EXPECT_EQ
    - absl::flat_hash_set::reserve
    - ASSERT_FALSE
    - 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:252,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:252,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:255,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:257,1
    - Dst: absl::flat_hash_map::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:258,1
    - Dst: ASSERT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:262,1
    - Dst: location
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:266,1
    - Dst: address
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:267,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:269,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:271,1
    - Dst: testing::Eq
      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: absl::flat_hash_map::at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:272,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:273,1
    - Dst: mapping
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:274,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: memory_start
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:280,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: memory_limit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:284,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:290,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:296,1
    - Dst: absl::flat_hash_set<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:297,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: testing::IsSubsetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:303,1
    - Dst: absl::flat_hash_set::reserve
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:306,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:308,1
    - Dst: back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:309,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:311,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:312,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:313,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:314,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:315,1
    - Dst: emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:317,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' converted'
    - ' extracted'
    argTypes:
    - perftools::profiles::Profile
    - SampleLabels
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 322
    functionName: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 21
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - EXPECT_LT
    - EXPECT_EQ
    - Not
    - EXPECT_TRUE
    - EXPECT_FALSE
    - testing::IsSubsetOf
    - sample_type
    - EXPECT_THAT
    - back
    - absl::flat_hash_set::insert
    - mapping_id
    - static_cast<int>
    - absl::flat_hash_set::reserve
    - ASSERT_THAT
    - ASSERT_FALSE
    - mapping
    - address
    - EXPECT_LE
    - id
    - num
    - key
    - string_table
    - mapping_size
    - memory_start
    - location_id
    - memory_limit
    - label
    - absl::flat_hash_set<int>
    - EXPECT_GE
    - absl::flat_hash_map::emplace
    - ASSERT_LT
    - value
    - absl::flat_hash_map::at
    - location
    - emplace_back
    - str
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    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:334,1
    - Dst: std::optional::emplace
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:335,1
    - Dst: std::vector::data
      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:357,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:358,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:359,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:360,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:361,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:367,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:371,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:374,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:375,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:384,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:385,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:387,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:388,1
    - Dst: CHECK_NE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:391,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:405,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:406,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:407,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:408,1
    - Dst: StubPageFlags*::set_bytes_stale
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:418,1
    - Dst: StubPageFlags*::set_bytes_locked
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:419,1
    - Dst: StubPageFlags*::set_stale_scan_period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:420,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:428,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:434,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:446,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:447,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:448,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:469,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:475,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:476,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:477,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:478,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:479,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:489,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:493,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:495,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:496,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:497,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:498,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:499,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:500,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:501,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 3
    argNames:
    - start_time
    - duration
    - profile_type
    argTypes:
    - std::optional<absl::Time>
    - absl::Duration
    - ProfileType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 504
    functionName: tcmalloc::tcmalloc_internal::MakeTestProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 21
    functionsReached:
    - absl::bit_cast<void*>
    - CHECK_NE
    - std::make_unique<FakeProfile>
    - CHECK_EQ
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - std::move
    - auto::SetStartTime
    - std::vector::emplace_back
    - mmap
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - std::optional::emplace
    - StubPageFlags*::set_bytes_locked
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - GetPageSize
    - StubPageFlags*::set_bytes_stale
    - munmap
    - CHECK_OK
    - StubPageFlags*::set_stale_scan_period
    - auto::SetDuration
    - auto::status
    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:507,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:508,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:510,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:515,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:516,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:517,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:520,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:521,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:526,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:529,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:532,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:533,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:534,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:535,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:536,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:544,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 548
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - Each
    - Pair
    - Key
    - absl::Milliseconds
    - EXPECT_EQ
    - Not
    - AnyOf
    - sample_type
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - absl::flat_hash_set::insert
    - key
    - string_table
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, NonHeapProfileDoesntHaveResidency)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:551,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:553,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:558,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:559,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:560,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:563,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:564,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: default_sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: SizeIs
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:574,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:576,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:577,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:578,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:579,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:583,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:584,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:585,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:590,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:591,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:592,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:593,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: num_unit
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:594,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:598,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:601,1
    - Dst: value_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:602,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:603,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:608,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:609,1
    - Dst: Pair
      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:612,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:613,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:616,1
    - Dst: Each
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: Not
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: AnyOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:618,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:621,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:623,1
    - Dst: UnorderedElementsAre
      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: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:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:627,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:628,1
    - Dst: Pair
      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:630,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:634,1
    - Dst: Pair
      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:636,1
    - Dst: UnorderedElementsAre
      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: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:639,1
    - Dst: Pair
      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:642,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:643,1
    - Dst: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:645,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:646,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:647,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:648,1
    - Dst: Pair
      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: UnorderedElementsAre
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:652,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:653,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:654,1
    - Dst: Pair
      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: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: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:658,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:659,1
    - Dst: Pair
      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: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: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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:666,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:667,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:671,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:677,1
    - Dst: IsSupersetOf
      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: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:683,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:685,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:686,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:687,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:688,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:689,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:691,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:692,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:693,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:694,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:695,1
    - Dst: IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:697,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:698,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:699,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:700,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:701,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:704,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:709,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:712,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:713,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:718,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:719,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:727,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:728,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    - Dst: period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 732
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - keep_frames
    - Each
    - period_type
    - SCOPED_TRACE
    - Pair
    - value_size
    - ASSERT_GE
    - Key
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - Not
    - AnyOf
    - IsSupersetOf
    - sample_type
    - std::vector::emplace_back
    - EXPECT_THAT
    - num_unit
    - time_nanos
    - ASSERT_TRUE
    - type
    - drop_frames
    - absl::flat_hash_set::insert
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - key
    - sample_type_size
    - std::vector::back
    - string_table
    - duration_nanos
    - label
    - UnorderedElementsAre
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - unit
    - period
    - value
    - SizeIs
    - absl::flat_hash_map::insert
    - default_sample_type
    - tcmalloc_internal::StackTraceFilter::Contains
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileConverterTest, HeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:737,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:738,1
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:739,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:740,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:741,1
    - Dst: auto::SetStartTime
      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:747,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:756,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:759,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: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:768,1
    - Dst: std::vector::data
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:777,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:780,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:781,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:787,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:788,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:790,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:795,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:799,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:801,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:802,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:803,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:804,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:805,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:806,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:807,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:808,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:809,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:810,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:811,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:812,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:814,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:815,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:816,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:817,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:818,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 821
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - std::make_unique<FakeProfile>
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - ASSERT_GE
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - std::move
    - auto::SetStartTime
    - EXPECT_EQ
    - std::vector::emplace_back
    - absl::Now
    - EXPECT_THAT
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - reinterpret_cast<void*>
    - std::vector::data
    - auto::SetSamples
    - auto::ok
    - UnorderedElementsAre
    - auto::SetDuration
    - ASSERT_NO_FATAL_FAILURE
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, PeakHeapProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FakeProfile>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:825,1
    - Dst: auto::SetType
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:826,1
    - Dst: auto::SetDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:827,1
    - Dst: auto::SetStartTime
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:828,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:843,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:844,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:845,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:846,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:857,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:858,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:859,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:860,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:861,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:862,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:864,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:871,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:884,1
    - Dst: auto::SetSamples
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:887,1
    - Dst: tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:888,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:889,1
    - Dst: CHECK_OK
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    - Dst: auto::status
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - start_time
    - duration
    argTypes:
    - absl::Time
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 892
    functionName: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 14
    functionsReached:
    - absl::Nanoseconds
    - reinterpret_cast<void*>
    - absl::bit_cast<void*>
    - std::move
    - auto::SetSamples
    - auto::SetStartTime
    - CHECK_OK
    - std::make_unique<FakeProfile>
    - auto::SetDuration
    - auto::status
    - std::vector::push_back
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - auto::SetType
    - tcmalloc::tcmalloc_internal::ProfileAccessor::MakeProfile
    linkageType: ''
    returnType: perftools::profiles::Profile
    signature: "perftools::profiles::Profile MakeTestLifetimeProfile(absl::Time start_time,\n
      \                                                    absl::Duration duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:895,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:896,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:897,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:898,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: auto::sample_type_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: at
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: auto::sample_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:912,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: auto::sample_size
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:917,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:926,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:927,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:928,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:929,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:932,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:933,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: auto::sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:936,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:941,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:948,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:950,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:951,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:952,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:953,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:954,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:955,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:956,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:957,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:958,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:959,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:960,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:961,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:962,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:963,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:964,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:965,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:966,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:967,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:968,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:969,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:970,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:972,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:973,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:974,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:975,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:976,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:977,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:978,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:979,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:980,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:981,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: auto::drop_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:984,1
    - Dst: testing::HasSubstr
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: auto::keep_frames
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: auto::duration_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: absl::ToInt64Nanoseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: auto::time_nanos
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:990,1
    - Dst: absl::ToUnixNanos
      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: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: auto::period_type
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    - Dst: auto::period
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 998
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixNanos
    - SCOPED_TRACE
    - Pair
    - auto::sample
    - auto::sample_type_size
    - tcmalloc::tcmalloc_internal::CheckAndExtractSampleLabels
    - absl::Milliseconds
    - EXPECT_EQ
    - testing::HasSubstr
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - at
    - absl::Now
    - EXPECT_THAT
    - auto::duration_nanos
    - auto::string_table
    - ASSERT_EQ
    - absl::ToInt64Nanoseconds
    - auto::sample_type
    - auto::keep_frames
    - UnorderedElementsAre
    - auto::time_nanos
    - auto::sample_size
    - auto::drop_frames
    - auto::period_type
    - ASSERT_NO_FATAL_FAILURE
    - auto::period
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, LifetimeProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1001,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1002,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1005,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1007,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1008,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1011,1
    - Dst: tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1012,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1016,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1017,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1018,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1025,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1026,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1027,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1028,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1029,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1030,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1033,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1034,1
    - Dst: ExtractTags
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1042,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1043,1
    - Dst: auto::erase
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    - Dst: testing::ContainerEq
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1049
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - testing::ContainerEq
    - absl::flat_hash_set::insert
    - ExtractTags
    - absl::Milliseconds
    - absl::ZeroDuration
    - tcmalloc::tcmalloc_internal::MakeTestLifetimeProfile
    - testing::IsSupersetOf
    - key
    - auto::erase
    - absl::Now
    - EXPECT_THAT
    - string_table
    - label
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::tcmalloc_internal::MakeTestProfile
    - sample
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileBuilderTest, SameTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1053,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1055,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1057,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1059,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1061,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1064,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1065,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1066,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1067,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1068,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1070,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1072,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1073,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1078,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:1090,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1092,1
    - Dst: tcmalloc::tcmalloc_internal::thread_safe_getenv
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1094,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1096,1
    - Dst: absl::StrAppend
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1098,1
    - Dst: open
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1102,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1104,1
    - Dst: close
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1105,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: reinterpret_cast<ElfW(Ehdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1107,1
    - Dst: std::string::c_str
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1109,1
    - Dst: reinterpret_cast<ElfW(Addr)>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1110,1
    - Dst: ElfW
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: reinterpret_cast<ElfW(Phdr)*>
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1112,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: tcmalloc::tcmalloc_internal::GetBuildId
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1115,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/profile_builder_test.cc
    functionUses: 0
    functionsReached:
    - open
    - reinterpret_cast<ElfW(Ehdr)*>
    - EXPECT_EQ
    - absl::StrAppend
    - reinterpret_cast<ElfW(Phdr)*>
    - tcmalloc::tcmalloc_internal::GetBuildId
    - std::string::c_str
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - close
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    - mmap
    - ASSERT_TRUE
    - 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:
    - CpuSet::Set
    - TC_CHECK
    - CpuSet::Count
    - Tampered
    - SpanToCpuSetT
    - Set
    - CpuSet::GetAffinity
    - GetAffinity
    - Zero
    - CPU_EQUAL_S
    - TC_CHECK_EQ
    - CpuSet::IsSet
    - CpuSet::Zero
    - SetAffinity
    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
    - CpuSet::Count
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::IsSet
    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:
    - TC_CHECK
    - SetAffinity
    - SpanToCpuSetT
    - GetAffinity
    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:
    - TC_CHECK
    - Set
    - GetAffinity
    - Zero
    - SetAffinity
    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:
    - Tampered
    - SetAffinity
    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
    - CpuSet::Count
    - CpuSet::GetAffinity
    - TC_CHECK_EQ
    - CpuSet::IsSet
    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:
    - TC_CHECK
    - SetAffinity
    - SpanToCpuSetT
    - GetAffinity
    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:
    - TC_CHECK
    - Set
    - GetAffinity
    - Zero
    - SetAffinity
    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:
    - Tampered
    - SetAffinity
    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: []
    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/internal/size_class_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GOOGLE_MALLOC_SECTION_BEGIN
    signature: GOOGLE_MALLOC_SECTION_BEGIN namespace
  - 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_TRUE
    - ASSERT_FALSE
    - EXPECT_GT
    - GetMemoryStats
    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_TRUE
    - ASSERT_FALSE
    - EXPECT_GT
    - GetMemoryStats
    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_TRUE
    - ASSERT_FALSE
    - EXPECT_GT
    - GetMemoryStats
    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_TRUE
    - ASSERT_FALSE
    - EXPECT_GT
    - GetMemoryStats
    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_TRUE
    - ASSERT_FALSE
    - EXPECT_GT
    - GetMemoryStats
    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_TRUE
    - ASSERT_FALSE
    - EXPECT_GT
    - GetMemoryStats
    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_TRUE
    - ASSERT_FALSE
    - EXPECT_GT
    - GetMemoryStats
    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_TRUE
    - ASSERT_FALSE
    - EXPECT_GT
    - GetMemoryStats
    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:
    - EXPECT_EQ
    - Push
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - EXPECT_FALSE
    - TryPop
    - free
    - empty
    - std::vector::push_back
    - malloc
    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:
    - PopBatch
    - absl::flat_hash_set::insert
    - std::vector::data
    - EXPECT_EQ
    - std::vector::end
    - length
    - ASSERT_FALSE
    - free
    - std::vector::begin
    - empty
    - std::vector::push_back
    - PushBatch
    - malloc
    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
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - empty
    - last
    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:
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - prepend
    - empty
    - last
    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
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - ASSERT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - remove
    - empty
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:249,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:259,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - MockSpanList::append
    - EXPECT_DEATH
    - remove
    - MockSpanList::remove
    - prepend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, WrongList)
  - 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:
    - EXPECT_EQ
    - Push
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - EXPECT_FALSE
    - TryPop
    - free
    - empty
    - std::vector::push_back
    - malloc
    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:
    - PopBatch
    - absl::flat_hash_set::insert
    - std::vector::data
    - EXPECT_EQ
    - std::vector::end
    - length
    - ASSERT_FALSE
    - free
    - std::vector::begin
    - empty
    - std::vector::push_back
    - PushBatch
    - malloc
    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
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - empty
    - last
    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:
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - prepend
    - empty
    - last
    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
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - ASSERT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - remove
    - empty
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:249,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:259,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - MockSpanList::append
    - EXPECT_DEATH
    - remove
    - MockSpanList::remove
    - prepend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, WrongList)
  - 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:
    - EXPECT_EQ
    - Push
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - EXPECT_FALSE
    - TryPop
    - free
    - empty
    - std::vector::push_back
    - malloc
    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:
    - PopBatch
    - absl::flat_hash_set::insert
    - std::vector::data
    - EXPECT_EQ
    - std::vector::end
    - length
    - ASSERT_FALSE
    - free
    - std::vector::begin
    - empty
    - std::vector::push_back
    - PushBatch
    - malloc
    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
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - empty
    - last
    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:
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - prepend
    - empty
    - last
    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
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - ASSERT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - remove
    - empty
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:249,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:259,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - MockSpanList::append
    - EXPECT_DEATH
    - remove
    - MockSpanList::remove
    - prepend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, WrongList)
  - 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:
    - EXPECT_EQ
    - Push
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - EXPECT_FALSE
    - TryPop
    - free
    - empty
    - std::vector::push_back
    - malloc
    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:
    - PopBatch
    - absl::flat_hash_set::insert
    - std::vector::data
    - EXPECT_EQ
    - std::vector::end
    - length
    - ASSERT_FALSE
    - free
    - std::vector::begin
    - empty
    - std::vector::push_back
    - PushBatch
    - malloc
    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
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - empty
    - last
    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:
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - prepend
    - empty
    - last
    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
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - ASSERT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - remove
    - empty
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:249,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:259,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - MockSpanList::append
    - EXPECT_DEATH
    - remove
    - MockSpanList::remove
    - prepend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, WrongList)
  - 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:
    - EXPECT_EQ
    - Push
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - EXPECT_FALSE
    - TryPop
    - free
    - empty
    - std::vector::push_back
    - malloc
    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:
    - PopBatch
    - absl::flat_hash_set::insert
    - std::vector::data
    - EXPECT_EQ
    - std::vector::end
    - length
    - ASSERT_FALSE
    - free
    - std::vector::begin
    - empty
    - std::vector::push_back
    - PushBatch
    - malloc
    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
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - empty
    - last
    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:
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - prepend
    - empty
    - last
    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
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - ASSERT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - remove
    - empty
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:249,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:259,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - MockSpanList::append
    - EXPECT_DEATH
    - remove
    - MockSpanList::remove
    - prepend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, WrongList)
  - 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:
    - EXPECT_EQ
    - Push
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - EXPECT_FALSE
    - TryPop
    - free
    - empty
    - std::vector::push_back
    - malloc
    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:
    - PopBatch
    - absl::flat_hash_set::insert
    - std::vector::data
    - EXPECT_EQ
    - std::vector::end
    - length
    - ASSERT_FALSE
    - free
    - std::vector::begin
    - empty
    - std::vector::push_back
    - PushBatch
    - malloc
    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
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - empty
    - last
    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:
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - prepend
    - empty
    - last
    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
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - ASSERT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - remove
    - empty
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:249,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:259,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - MockSpanList::append
    - EXPECT_DEATH
    - remove
    - MockSpanList::remove
    - prepend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, WrongList)
  - 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:
    - EXPECT_EQ
    - Push
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - EXPECT_FALSE
    - TryPop
    - free
    - empty
    - std::vector::push_back
    - malloc
    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:
    - PopBatch
    - absl::flat_hash_set::insert
    - std::vector::data
    - EXPECT_EQ
    - std::vector::end
    - length
    - ASSERT_FALSE
    - free
    - std::vector::begin
    - empty
    - std::vector::push_back
    - PushBatch
    - malloc
    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
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - empty
    - last
    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:
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - prepend
    - empty
    - last
    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
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - ASSERT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - remove
    - empty
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:249,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:259,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - MockSpanList::append
    - EXPECT_DEATH
    - remove
    - MockSpanList::remove
    - prepend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, WrongList)
  - 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:
    - EXPECT_EQ
    - Push
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - EXPECT_FALSE
    - TryPop
    - free
    - empty
    - std::vector::push_back
    - malloc
    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:
    - PopBatch
    - absl::flat_hash_set::insert
    - std::vector::data
    - EXPECT_EQ
    - std::vector::end
    - length
    - ASSERT_FALSE
    - free
    - std::vector::begin
    - empty
    - std::vector::push_back
    - PushBatch
    - malloc
    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
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - empty
    - last
    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:
    - first
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - EXPECT_TRUE
    - ASSERT_FALSE
    - remove
    - prepend
    - empty
    - last
    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
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - EXPECT_EQ
    - EXPECT_FALSE
    - length
    - ASSERT_FALSE
    - EXPECT_TRUE
    - std::vector::begin
    - remove
    - empty
    - std::shuffle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, AppendRandomRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:248,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:249,1
    - Dst: MockSpanList::append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:252,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:254,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:255,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:256,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: prepend
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:257,1
    - Dst: MockSpanList::remove
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:259,1
    - Dst: append
      Src: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/linked_list_test.cc
    functionUses: 0
    functionsReached:
    - append
    - MockSpanList::append
    - EXPECT_DEATH
    - remove
    - MockSpanList::remove
    - prepend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TListTest, WrongList)
  - 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:
    - size
    - Add
    - Decay
    - load
    - ring
    - fetch_add
    - absl::HashOf
    - GetFirstHash
    - GetNextHash
    - tcmalloc_internal::HintedTrackerLists::Add
    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: 52
    functionsReached:
    - load
    - tcmalloc_internal::StackTraceFilter::GetNextHash
    - 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::GetFirstHash
    - tcmalloc_internal::DecayingStackTraceFilter::Decay
    - tcmalloc_internal::HintedTrackerLists::Add
    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:
    - fetch_add
    - ring
    - tcmalloc_internal::HintedTrackerLists::Add
    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: 52
    functionsReached:
    - load
    - tcmalloc_internal::StackTraceFilter::GetNextHash
    - 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::GetFirstHash
    - tcmalloc_internal::DecayingStackTraceFilter::Decay
    - tcmalloc_internal::HintedTrackerLists::Add
    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:
    - fetch_add
    - ring
    - tcmalloc_internal::HintedTrackerLists::Add
    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:289,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:358,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    - Dst: StartCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:403,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:416,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:421,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:427,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    - Dst: TCMALLOC_RSEQ_SET_CS
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:532,1
    - Dst: static_cast<void* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    - Dst: PrefetchWT0
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    - Dst: __builtin_prefetch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:797,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:998,1
    - Dst: CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,1
    - Dst: absl::bit_cast<Header>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    - Dst: auto*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    - Dst: auto*::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1119,1
    - Dst: InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1258,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1436,1
    - Dst: DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 321
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 1471
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - data
    - StoreHeader
    - std::max<ssize_t>
    - TC_CHECK_EQ
    - TC_ASSERT_EQ
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - NumCPUs
    - GetSlabsAndShift
    - alloc
    - static_cast<std::atomic<uint16_t>*>
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    - TSANAcquire
    - stopped::load
    - TcmallocSlab_Internal_Push
    - TSANReleaseBatch
    - update_capacity
    - TC_CHECK
    - ABSL_PREDICT_FALSE
    - stopped::store
    - TSANAcquireBatch
    - CpuMemoryStart
    - static_cast<size_t>
    - absl::bit_cast<int32_t>
    - PrefetchWT0
    - populated
    - __builtin_prefetch
    - ToUint8
    - FenceCpu
    - CompilerBarrier
    - max_capacity
    - static_cast<char*>
    - AssumeNotNull
    - StartCpu
    - TCMALLOC_RSEQ_PROLOGUE
    - static_cast<AtomicHeader*>
    - TcmallocSlab_Internal_PushBatch
    - absl::countr_zero
    - StopCpu
    - InitSlabs
    - TC_BUG
    - static_cast<uint16_t>
    - CacheCpuSlabSlow
    - capacity
    - TC_ASSERT_LT
    - TC_CHECK_LE
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - static_cast<ssize_t>
    - drain_handler
    - GetHeader
    - tcmalloc_internal::MInCore::residence
    - std::min<uint16_t>
    - TCMALLOC_RSEQ_SET_CS
    - FenceAllCpus
    - size
    - auto::Get
    - shrink_handler
    - static_cast<uint8_t>
    - load
    - PrefetchSlabMemory
    - DrainOldSlabs
    - TC_ASSERT
    - static_cast<uint32_t* volatile*>
    - absl::bit_cast<Header>
    - free
    - TC_ASSERT_GE
    - static_cast<Shift>
    - reinterpret_cast<char*>
    - auto*::load
    - TC_ASSERT_NE
    - static_cast<uint64_t* volatile*>
    - reinterpret_cast<void*>
    - store
    - absl::MakeSpan
    - PrefetchNextObject
    - LoadHeader
    - num_cpus
    - static_cast<void* volatile*>
    - InitCpuImpl
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - CpuState::CpuState
    - GetSlabsAllocSize
    - StoreCurrentCpu
    - DrainCpu
    - auto*::store
    - TC_ASSERT_LE
    - reinterpret_cast<void**>
    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:
    - TC_ASSERT_EQ
    - tcmalloc_internal::subtle::percpu::ToUint8
    - 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:289,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ToUint8
    - TC_ASSERT_EQ
    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:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_cpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    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: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    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: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    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:416,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,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: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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:427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    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:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t* volatile*>
    - static_cast<void* 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:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    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:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 685
    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
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    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:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 877
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TC_ASSERT
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 966
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - absl::countr_zero
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,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: 993
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - static_cast<ssize_t>
    - std::min<uint16_t>
    - StoreCurrentCpu
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - max_capacity
    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:998,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,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: 1026
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PushBatch
    - TSANReleaseBatch
    - 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:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,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: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - TSANAcquireBatch
    - TC_ASSERT_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_NE
    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:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,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: 1057
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    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:1061,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    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:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::bit_cast<int32_t>
    - AtomicHeader*::store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 1088
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - CpuState::CpuState
    - static_cast<std::atomic<uint16_t>*>
    - alloc
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - NumCPUs
    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:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,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: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - store
    - capacity
    - TC_CHECK_EQ
    - ToUint8
    - TC_BUG
    - static_cast<uint16_t>
    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:1119,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,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: 1121
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    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:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,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: 1166
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1166
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_CHECK
    - TC_CHECK_LE
    - capacity
    - reinterpret_cast<void*>
    - stopped::load
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_CHECK_EQ
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_BUG
    - static_cast<uint16_t>
    - reinterpret_cast<void**>
    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:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1224
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<uintptr_t>
    - stopped::load
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - load
    - auto::Get
    - num_cpus
    - StoreCurrentCpu
    - TC_ASSERT_GE
    - TC_ASSERT
    - CompilerBarrier
    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:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,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: 1249
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - stopped::load
    - load
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - drain_handler
    - reinterpret_cast<void**>
    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:1258,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,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: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    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>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - drain_handler
    - reinterpret_cast<void**>
    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:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 1323
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1323
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - GetSlabsAllocSize
    - num_cpus
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    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:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 1367
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1367
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - num_cpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - TC_ASSERT_NE
    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: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,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: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - store
    - data
    - GetSlabsAndShift
    - free
    - GetSlabsAllocSize
    - num_cpus
    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:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,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: 1401
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - max_capacity
    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:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,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: 1431
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - TSANAcquireBatch
    - shrink_handler
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:1436,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    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:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1446
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stopped::load
    - stopped::store
    - num_cpus
    - FenceCpu
    - TC_ASSERT
    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:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - stopped::store
    - stopped::load
    - num_cpus
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1466
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - num_cpus
    - GetSlabsAndShift
    - GetSlabsAllocSize
    - 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:
    - TC_ASSERT_EQ
    - tcmalloc_internal::subtle::percpu::ToUint8
    - 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:289,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ToUint8
    - TC_ASSERT_EQ
    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:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_cpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    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: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    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: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    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:416,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,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: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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:427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    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:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t* volatile*>
    - static_cast<void* 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:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    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:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 685
    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
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    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:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 877
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TC_ASSERT
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 966
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - absl::countr_zero
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,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: 993
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - static_cast<ssize_t>
    - std::min<uint16_t>
    - StoreCurrentCpu
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - max_capacity
    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:998,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,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: 1026
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PushBatch
    - TSANReleaseBatch
    - 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:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,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: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - TSANAcquireBatch
    - TC_ASSERT_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_NE
    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:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,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: 1057
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    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:1061,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    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:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached:
    - absl::bit_cast<int32_t>
    - AtomicHeader*::store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 1088
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - CpuState::CpuState
    - static_cast<std::atomic<uint16_t>*>
    - alloc
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - NumCPUs
    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:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,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: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - store
    - capacity
    - TC_CHECK_EQ
    - ToUint8
    - TC_BUG
    - static_cast<uint16_t>
    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:1119,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,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: 1121
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    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:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,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: 1166
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1166
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_CHECK
    - TC_CHECK_LE
    - capacity
    - reinterpret_cast<void*>
    - stopped::load
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_CHECK_EQ
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_BUG
    - static_cast<uint16_t>
    - reinterpret_cast<void**>
    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:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1224
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 2
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<uintptr_t>
    - stopped::load
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - load
    - auto::Get
    - num_cpus
    - StoreCurrentCpu
    - TC_ASSERT_GE
    - TC_ASSERT
    - CompilerBarrier
    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:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,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: 1249
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 1
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - stopped::load
    - load
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - drain_handler
    - reinterpret_cast<void**>
    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:1258,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,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: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    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>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - drain_handler
    - reinterpret_cast<void**>
    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:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 1323
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1323
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - GetSlabsAllocSize
    - num_cpus
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    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:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 1367
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1367
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - num_cpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - TC_ASSERT_NE
    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: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,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: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - store
    - data
    - GetSlabsAndShift
    - free
    - GetSlabsAllocSize
    - num_cpus
    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:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,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: 1401
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - max_capacity
    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:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,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: 1431
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - TSANAcquireBatch
    - shrink_handler
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:1436,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    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:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1446
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stopped::load
    - stopped::store
    - num_cpus
    - FenceCpu
    - TC_ASSERT
    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:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - stopped::store
    - stopped::load
    - num_cpus
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1466
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - num_cpus
    - GetSlabsAndShift
    - GetSlabsAllocSize
    - 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:
    - TC_ASSERT_EQ
    - tcmalloc_internal::subtle::percpu::ToUint8
    - 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:289,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ToUint8
    - TC_ASSERT_EQ
    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:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_cpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    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: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    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: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    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:416,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,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: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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:427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    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:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t* volatile*>
    - static_cast<void* 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:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    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:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 685
    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
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    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:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 877
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TC_ASSERT
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 966
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - absl::countr_zero
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,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: 993
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - static_cast<ssize_t>
    - std::min<uint16_t>
    - StoreCurrentCpu
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - max_capacity
    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:998,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,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: 1026
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PushBatch
    - TSANReleaseBatch
    - 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:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,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: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - TSANAcquireBatch
    - TC_ASSERT_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_NE
    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:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,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: 1057
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    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:1061,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    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:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - absl::bit_cast<int32_t>
    - AtomicHeader*::store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 1088
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - CpuState::CpuState
    - static_cast<std::atomic<uint16_t>*>
    - alloc
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - NumCPUs
    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:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,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: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - store
    - capacity
    - TC_CHECK_EQ
    - ToUint8
    - TC_BUG
    - static_cast<uint16_t>
    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:1119,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,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: 1121
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    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:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,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: 1166
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1166
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_CHECK
    - TC_CHECK_LE
    - capacity
    - reinterpret_cast<void*>
    - stopped::load
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_CHECK_EQ
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_BUG
    - static_cast<uint16_t>
    - reinterpret_cast<void**>
    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:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1224
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 3
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<uintptr_t>
    - stopped::load
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - load
    - auto::Get
    - num_cpus
    - StoreCurrentCpu
    - TC_ASSERT_GE
    - TC_ASSERT
    - CompilerBarrier
    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:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,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: 1249
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 2
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - stopped::load
    - load
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - drain_handler
    - reinterpret_cast<void**>
    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:1258,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,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: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    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>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - drain_handler
    - reinterpret_cast<void**>
    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:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 1323
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1323
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - GetSlabsAllocSize
    - num_cpus
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    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:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 1367
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1367
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - num_cpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - TC_ASSERT_NE
    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: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,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: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - store
    - data
    - GetSlabsAndShift
    - free
    - GetSlabsAllocSize
    - num_cpus
    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:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,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: 1401
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - max_capacity
    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:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,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: 1431
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - TSANAcquireBatch
    - shrink_handler
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:1436,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    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:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1446
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stopped::load
    - stopped::store
    - num_cpus
    - FenceCpu
    - TC_ASSERT
    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:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - stopped::store
    - stopped::load
    - num_cpus
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1466
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - num_cpus
    - GetSlabsAndShift
    - GetSlabsAllocSize
    - 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:
    - TC_ASSERT_EQ
    - tcmalloc_internal::subtle::percpu::ToUint8
    - 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:289,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ToUint8
    - TC_ASSERT_EQ
    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:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_cpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    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: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    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: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    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:416,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,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: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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:427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    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:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t* volatile*>
    - static_cast<void* 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:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    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:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 685
    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
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    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:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 877
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TC_ASSERT
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 966
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - absl::countr_zero
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,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: 993
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - static_cast<ssize_t>
    - std::min<uint16_t>
    - StoreCurrentCpu
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - max_capacity
    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:998,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,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: 1026
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PushBatch
    - TSANReleaseBatch
    - 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:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,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: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - TSANAcquireBatch
    - TC_ASSERT_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_NE
    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:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,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: 1057
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    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:1061,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    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:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 15
    functionsReached:
    - absl::bit_cast<int32_t>
    - AtomicHeader*::store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 1088
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - CpuState::CpuState
    - static_cast<std::atomic<uint16_t>*>
    - alloc
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - NumCPUs
    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:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,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: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - store
    - capacity
    - TC_CHECK_EQ
    - ToUint8
    - TC_BUG
    - static_cast<uint16_t>
    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:1119,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,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: 1121
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    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:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,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: 1166
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1166
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_CHECK
    - TC_CHECK_LE
    - capacity
    - reinterpret_cast<void*>
    - stopped::load
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_CHECK_EQ
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_BUG
    - static_cast<uint16_t>
    - reinterpret_cast<void**>
    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:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1224
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<uintptr_t>
    - stopped::load
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - load
    - auto::Get
    - num_cpus
    - StoreCurrentCpu
    - TC_ASSERT_GE
    - TC_ASSERT
    - CompilerBarrier
    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:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,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: 1249
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 3
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - stopped::load
    - load
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - drain_handler
    - reinterpret_cast<void**>
    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:1258,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,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: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    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>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - drain_handler
    - reinterpret_cast<void**>
    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:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 1323
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1323
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - GetSlabsAllocSize
    - num_cpus
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    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:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 1367
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1367
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - num_cpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - TC_ASSERT_NE
    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: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,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: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - store
    - data
    - GetSlabsAndShift
    - free
    - GetSlabsAllocSize
    - num_cpus
    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:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,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: 1401
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - max_capacity
    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:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,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: 1431
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - TSANAcquireBatch
    - shrink_handler
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:1436,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    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:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1446
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stopped::load
    - stopped::store
    - num_cpus
    - FenceCpu
    - TC_ASSERT
    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:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - stopped::store
    - stopped::load
    - num_cpus
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1466
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - num_cpus
    - GetSlabsAndShift
    - GetSlabsAllocSize
    - 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:
    - TC_ASSERT_EQ
    - tcmalloc_internal::subtle::percpu::ToUint8
    - 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:289,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ToUint8
    - TC_ASSERT_EQ
    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:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_cpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    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: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    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: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    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:416,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,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: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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:427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    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:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t* volatile*>
    - static_cast<void* 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:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 8
    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:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 685
    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
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    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:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 877
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TC_ASSERT
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 966
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - absl::countr_zero
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,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: 993
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - static_cast<ssize_t>
    - std::min<uint16_t>
    - StoreCurrentCpu
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - max_capacity
    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:998,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,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: 1026
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PushBatch
    - TSANReleaseBatch
    - 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:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,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: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - TSANAcquireBatch
    - TC_ASSERT_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_NE
    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:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,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: 1057
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    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:1061,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    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:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 20
    functionsReached:
    - absl::bit_cast<int32_t>
    - AtomicHeader*::store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 1088
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - CpuState::CpuState
    - static_cast<std::atomic<uint16_t>*>
    - alloc
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - NumCPUs
    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:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,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: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 13
    functionsReached:
    - store
    - capacity
    - TC_CHECK_EQ
    - ToUint8
    - TC_BUG
    - static_cast<uint16_t>
    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:1119,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,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: 1121
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    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:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,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: 1166
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1166
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 13
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_CHECK
    - TC_CHECK_LE
    - capacity
    - reinterpret_cast<void*>
    - stopped::load
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_CHECK_EQ
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_BUG
    - static_cast<uint16_t>
    - reinterpret_cast<void**>
    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:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1224
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<uintptr_t>
    - stopped::load
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - load
    - auto::Get
    - num_cpus
    - StoreCurrentCpu
    - TC_ASSERT_GE
    - TC_ASSERT
    - CompilerBarrier
    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:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,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: 1249
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 4
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - stopped::load
    - load
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - drain_handler
    - reinterpret_cast<void**>
    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:1258,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,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: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    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>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - drain_handler
    - reinterpret_cast<void**>
    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:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 1323
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1323
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - GetSlabsAllocSize
    - num_cpus
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    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:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 1367
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1367
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - num_cpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - TC_ASSERT_NE
    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: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,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: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - store
    - data
    - GetSlabsAndShift
    - free
    - GetSlabsAllocSize
    - num_cpus
    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:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,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: 1401
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - max_capacity
    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:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,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: 1431
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - TSANAcquireBatch
    - shrink_handler
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:1436,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    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:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1446
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stopped::load
    - stopped::store
    - num_cpus
    - FenceCpu
    - TC_ASSERT
    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:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - stopped::store
    - stopped::load
    - num_cpus
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1466
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - num_cpus
    - GetSlabsAndShift
    - GetSlabsAllocSize
    - 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:
    - TC_ASSERT_EQ
    - tcmalloc_internal::subtle::percpu::ToUint8
    - 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:289,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ToUint8
    - TC_ASSERT_EQ
    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:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_cpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    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: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    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: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    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:416,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,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: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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:427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    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:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t* volatile*>
    - static_cast<void* 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:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 10
    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:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 685
    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
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    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:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 877
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TC_ASSERT
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 966
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - absl::countr_zero
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,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: 993
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - static_cast<ssize_t>
    - std::min<uint16_t>
    - StoreCurrentCpu
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - max_capacity
    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:998,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,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: 1026
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PushBatch
    - TSANReleaseBatch
    - 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:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,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: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - TSANAcquireBatch
    - TC_ASSERT_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_NE
    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:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,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: 1057
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    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:1061,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    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:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 25
    functionsReached:
    - absl::bit_cast<int32_t>
    - AtomicHeader*::store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 1088
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - CpuState::CpuState
    - static_cast<std::atomic<uint16_t>*>
    - alloc
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - NumCPUs
    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:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,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: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 16
    functionsReached:
    - store
    - capacity
    - TC_CHECK_EQ
    - ToUint8
    - TC_BUG
    - static_cast<uint16_t>
    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:1119,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,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: 1121
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    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:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,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: 1166
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1166
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_CHECK
    - TC_CHECK_LE
    - capacity
    - reinterpret_cast<void*>
    - stopped::load
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_CHECK_EQ
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_BUG
    - static_cast<uint16_t>
    - reinterpret_cast<void**>
    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:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1224
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<uintptr_t>
    - stopped::load
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - load
    - auto::Get
    - num_cpus
    - StoreCurrentCpu
    - TC_ASSERT_GE
    - TC_ASSERT
    - CompilerBarrier
    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:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,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: 1249
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 5
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - stopped::load
    - load
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - drain_handler
    - reinterpret_cast<void**>
    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:1258,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,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: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    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>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - drain_handler
    - reinterpret_cast<void**>
    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:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 1323
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1323
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - GetSlabsAllocSize
    - num_cpus
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    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:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 1367
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1367
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - num_cpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - TC_ASSERT_NE
    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: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,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: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - store
    - data
    - GetSlabsAndShift
    - free
    - GetSlabsAllocSize
    - num_cpus
    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:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,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: 1401
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - max_capacity
    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:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,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: 1431
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - TSANAcquireBatch
    - shrink_handler
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:1436,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    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:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1446
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stopped::load
    - stopped::store
    - num_cpus
    - FenceCpu
    - TC_ASSERT
    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:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - stopped::store
    - stopped::load
    - num_cpus
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1466
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - num_cpus
    - GetSlabsAndShift
    - GetSlabsAllocSize
    - 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:
    - TC_ASSERT_EQ
    - tcmalloc_internal::subtle::percpu::ToUint8
    - 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:289,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ToUint8
    - TC_ASSERT_EQ
    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:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_cpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    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: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    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: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    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:416,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,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: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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:427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    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:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t* volatile*>
    - static_cast<void* 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:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 12
    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:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 685
    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
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    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:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 877
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TC_ASSERT
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 966
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - absl::countr_zero
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,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: 993
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - static_cast<ssize_t>
    - std::min<uint16_t>
    - StoreCurrentCpu
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - max_capacity
    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:998,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,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: 1026
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PushBatch
    - TSANReleaseBatch
    - 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:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,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: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - TSANAcquireBatch
    - TC_ASSERT_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_NE
    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:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,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: 1057
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    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:1061,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    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:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 30
    functionsReached:
    - absl::bit_cast<int32_t>
    - AtomicHeader*::store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 1088
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - CpuState::CpuState
    - static_cast<std::atomic<uint16_t>*>
    - alloc
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - NumCPUs
    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:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,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: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 19
    functionsReached:
    - store
    - capacity
    - TC_CHECK_EQ
    - ToUint8
    - TC_BUG
    - static_cast<uint16_t>
    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:1119,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,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: 1121
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    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:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,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: 1166
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1166
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 19
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_CHECK
    - TC_CHECK_LE
    - capacity
    - reinterpret_cast<void*>
    - stopped::load
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_CHECK_EQ
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_BUG
    - static_cast<uint16_t>
    - reinterpret_cast<void**>
    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:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1224
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<uintptr_t>
    - stopped::load
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - load
    - auto::Get
    - num_cpus
    - StoreCurrentCpu
    - TC_ASSERT_GE
    - TC_ASSERT
    - CompilerBarrier
    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:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,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: 1249
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 6
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - stopped::load
    - load
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - drain_handler
    - reinterpret_cast<void**>
    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:1258,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,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: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    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>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - drain_handler
    - reinterpret_cast<void**>
    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:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 1323
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1323
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - GetSlabsAllocSize
    - num_cpus
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    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:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 1367
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1367
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - num_cpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - TC_ASSERT_NE
    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: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,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: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - store
    - data
    - GetSlabsAndShift
    - free
    - GetSlabsAllocSize
    - num_cpus
    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:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,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: 1401
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - max_capacity
    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:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,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: 1431
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - TSANAcquireBatch
    - shrink_handler
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:1436,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    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:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1446
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stopped::load
    - stopped::store
    - num_cpus
    - FenceCpu
    - TC_ASSERT
    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:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - stopped::store
    - stopped::load
    - num_cpus
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1466
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - num_cpus
    - GetSlabsAndShift
    - GetSlabsAllocSize
    - 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:
    - TC_ASSERT_EQ
    - tcmalloc_internal::subtle::percpu::ToUint8
    - 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:289,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::GetShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab::GetSlabsAndShift
    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: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    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:306,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:306,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:307,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - slabs
    - shift
    argTypes:
    - void*
    - Shift
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::SlabsAndShift::SlabsAndShift
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - ToUint8
    - TC_ASSERT_EQ
    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:318,1
    - Dst: static_cast<Shift>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: size
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab::num_cpus
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_cpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' slab'
    - cpu
    argTypes:
    - TcmallocSlab<NumClasses>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    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: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    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: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    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:416,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:417,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:418,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: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Length
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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:427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:428,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:429,1
    - Dst: std::max<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - size_class
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Capacity
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - std::max<ssize_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    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: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    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:578,1
    - Dst: static_cast<uint64_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:596,1
    - Dst: static_cast<uint32_t* volatile*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 616
    functionName: tcmalloc_internal::subtle::percpu::StoreCurrentCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t* volatile*>
    - static_cast<void* 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:622,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 14
    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:637,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:676,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 685
    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
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:698,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:748,1
    - Dst: tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab_Internal_Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TCMALLOC_RSEQ_PROLOGUE
    - reinterpret_cast<uintptr_t>
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::PrefetchSlabMemory
    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:764,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:765,1
    - Dst: TC_ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:766,1
    - Dst: TSANRelease
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:771,1
    - Dst: TcmallocSlab_Internal_Push
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size_class
    - item
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Push
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TSANRelease
    - TcmallocSlab_Internal_Push
    - TC_ASSERT_EQ
    - TC_ASSERT_NE
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefetch_target
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 798
    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:804,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:815,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:862,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:866,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:867,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:868,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:872,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:873,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 877
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TC_ASSERT
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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:884,1
    - Dst: TCMALLOC_RSEQ_PROLOGUE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:897,1
    - Dst: absl::countr_zero
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:942,1
    - Dst: ABSL_PREDICT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:956,1
    - Dst: TSANAcquire
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:960,1
    - Dst: PrefetchSlabMemory
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:961,1
    - Dst: PrefetchNextObject
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:962,1
    - Dst: AssumeNotNull
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - size_class
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 966
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Pop
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - AssumeNotNull
    - absl::countr_zero
    - ABSL_PREDICT_FALSE
    - PrefetchNextObject
    - PrefetchSlabMemory
    - TCMALLOC_RSEQ_PROLOGUE
    - TSANAcquire
    - TC_ASSERT_NE
    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: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    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:981,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:982,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:983,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:984,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:985,1
    - Dst: static_cast<ssize_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:986,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:990,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:992,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: 993
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Grow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - load
    - static_cast<ssize_t>
    - std::min<uint16_t>
    - StoreCurrentCpu
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - max_capacity
    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:998,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:999,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1004
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlab
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - ABSL_PREDICT_FALSE
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    - tcmalloc_internal::subtle::percpu::VirtualCpu::GetAfterSynchronize
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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:1016,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1017,1
    - Dst: TSANReleaseBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1024,1
    - Dst: TcmallocSlab_Internal_PushBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1025,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: 1026
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PushBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PushBatch
    - TSANReleaseBatch
    - 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:1031,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1032,1
    - Dst: TcmallocSlab_Internal_PopBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1033,1
    - Dst: TC_ASSERT_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1035,1
    - Dst: ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1039,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1040,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: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::PopBatch
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TcmallocSlab_Internal_PopBatch
    - TSANAcquireBatch
    - TC_ASSERT_LE
    - ANNOTATE_MEMORY_IS_INITIALIZED
    - TC_ASSERT_NE
    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:1047,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slabs
    - shift
    - cpu
    argTypes:
    - void*
    - Shift
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: static_cast<AtomicHeader*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1055,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1056,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: 1057
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    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:1061,1
    - Dst: AtomicHeader*::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrp
    argTypes:
    - AtomicHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    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:1067,1
    - Dst: absl::bit_cast<int32_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - hdr
    argTypes:
    - AtomicHeader*
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 35
    functionsReached:
    - absl::bit_cast<int32_t>
    - AtomicHeader*::store
    linkageType: ''
    returnType: void
    signature: "void TcmallocSlab<NumClasses>::StoreHeader(AtomicHeader* hdrp,\n                                                  Header
      hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumCPUs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1074,1
    - Dst: absl::MakeSpan
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: CpuState::CpuState
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1075,1
    - Dst: static_cast<std::atomic<uint16_t>*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: alloc
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1079,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 1088
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1088
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Init
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - absl::MakeSpan
    - CpuState::CpuState
    - static_cast<std::atomic<uint16_t>*>
    - alloc
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - NumCPUs
    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:1093,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1098,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1099,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1105,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1108,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1109,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1110,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: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 22
    functionsReached:
    - store
    - capacity
    - TC_CHECK_EQ
    - ToUint8
    - TC_BUG
    - static_cast<uint16_t>
    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:1119,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1120,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: 1121
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    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:1127,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1127,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1128,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1132,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1133,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1134,1
    - Dst: capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1139,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: static_cast<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1140,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1147,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1154,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1156,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1160,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1161,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1162,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: 1166
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1166
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 22
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TC_CHECK
    - TC_CHECK_LE
    - capacity
    - reinterpret_cast<void*>
    - stopped::load
    - reinterpret_cast<char*>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - TC_CHECK_EQ
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_BUG
    - static_cast<uint16_t>
    - reinterpret_cast<void**>
    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:1171,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1175,1
    - Dst: tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1176,1
    - Dst: TC_ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1177,1
    - Dst: TC_ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1178,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1179,1
    - Dst: auto::Get
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1180,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1183,1
    - Dst: StoreCurrentCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1184,1
    - Dst: CompilerBarrier
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1193,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1194,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1224
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CacheCpuSlabSlow
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 8
    functionsReached:
    - TC_ASSERT_LT
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - reinterpret_cast<uintptr_t>
    - stopped::load
    - tcmalloc_internal::subtle::percpu::VirtualCpu::Synchronize
    - load
    - auto::Get
    - num_cpus
    - StoreCurrentCpu
    - TC_ASSERT_GE
    - TC_ASSERT
    - CompilerBarrier
    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:1230,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1230,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1232,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1233,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1234,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1242,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1243,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1244,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1247,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: 1249
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 7
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - stopped::load
    - load
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - drain_handler
    - reinterpret_cast<void**>
    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:1258,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1259,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1267,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1268,1
    - Dst: drain_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1269,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1272,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: 1274
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1274
    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>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - TSANAcquireBatch
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - drain_handler
    - reinterpret_cast<void**>
    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:1284,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1288,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1291,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1293,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1294,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1296,1
    - Dst: update_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1302,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1307,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1308,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1310,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1314,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1319,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1320,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 1323
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1323
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::UpdateMaxCapacities
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - GetSlabsAllocSize
    - num_cpus
    - update_capacity
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    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:1334,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1338,1
    - Dst: TC_ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1341,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1342,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1344,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1345,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1346,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1347,1
    - Dst: FenceAllCpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1350,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1353,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1357,1
    - Dst: populated
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1362,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1363,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 1367
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1367
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ResizeSlabs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - GetSlabsAndShift
    - populated
    - stopped::load
    - load
    - stopped::store
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitSlabs
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::InitCpuImpl
    - GetSlabsAllocSize
    - num_cpus
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainOldSlabs
    - FenceAllCpus
    - TC_ASSERT_NE
    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: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1372,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: data
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1374,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1378,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1381,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1382,1
    - Dst: store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1383,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: 1385
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::Destroy
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - store
    - data
    - GetSlabsAndShift
    - free
    - GetSlabsAllocSize
    - num_cpus
    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:1391,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1391,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1392,1
    - Dst: max_capacity
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: ToUint8
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1393,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1394,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1395,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1396,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1397,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1399,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: 1401
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GrowOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - ToUint8
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - max_capacity
    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:1406,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1406,1
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1407,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1409,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1410,1
    - Dst: load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1416,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1418,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1419,1
    - Dst: TSANAcquireBatch
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1421,1
    - Dst: shrink_handler
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1422,1
    - Dst: std::min<uint16_t>
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1427,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1429,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: 1431
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1431
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::ShrinkOtherCache
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::LoadHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::CpuMemoryStart
    - GetSlabsAndShift
    - stopped::load
    - load
    - std::min<uint16_t>
    - TSANAcquireBatch
    - shrink_handler
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StoreHeader
    - tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::GetHeader
    - TC_ASSERT
    - reinterpret_cast<void**>
    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:1436,1
    - Dst: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::DrainCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpu
    - drain_handler
    argTypes:
    - int
    - DrainHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    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:1442,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1442,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1443,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1444,1
    - Dst: FenceCpu
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1446
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StopCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - stopped::load
    - stopped::store
    - num_cpus
    - FenceCpu
    - TC_ASSERT
    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:1450,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1450,1
    - Dst: TC_ASSERT
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::load
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1451,1
    - Dst: stopped::store
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::StartCpu
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - TC_ASSERT
    - stopped::store
    - stopped::load
    - num_cpus
    linkageType: ''
    returnType: void
    signature: void TcmallocSlab<NumClasses>::StartCpu(int cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSlabsAndShift
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1458,1
    - Dst: num_cpus
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1459,1
    - Dst: GetSlabsAllocSize
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1460,1
    - Dst: tcmalloc_internal::MInCore::residence
      Src: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1466
    functionName: tcmalloc_internal::subtle::percpu::TcmallocSlab<NumClasses>::MetadataMemoryUsage
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    functionUses: 0
    functionsReached:
    - num_cpus
    - GetSlabsAndShift
    - GetSlabsAllocSize
    - 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:
    - PrefetchNta
    - EXPECT_EQ
    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:
    - PrefetchT0
    - EXPECT_EQ
    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:
    - PrefetchW
    - EXPECT_EQ
    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:
    - PrefetchWT1
    - EXPECT_EQ
    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:
    - PrefetchWT0
    - EXPECT_EQ
    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:
    - PrefetchNta
    - EXPECT_EQ
    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:
    - PrefetchT0
    - EXPECT_EQ
    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:
    - PrefetchW
    - EXPECT_EQ
    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:
    - PrefetchWT1
    - EXPECT_EQ
    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:
    - PrefetchWT0
    - EXPECT_EQ
    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:
    - PrefetchNta
    - EXPECT_EQ
    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:
    - PrefetchT0
    - EXPECT_EQ
    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:
    - PrefetchW
    - EXPECT_EQ
    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:
    - PrefetchWT1
    - EXPECT_EQ
    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:
    - PrefetchWT0
    - EXPECT_EQ
    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:
    - PrefetchNta
    - EXPECT_EQ
    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:
    - PrefetchT0
    - EXPECT_EQ
    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:
    - PrefetchW
    - EXPECT_EQ
    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:
    - PrefetchWT1
    - EXPECT_EQ
    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:
    - PrefetchWT0
    - EXPECT_EQ
    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:
    - PrefetchNta
    - EXPECT_EQ
    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:
    - PrefetchT0
    - EXPECT_EQ
    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:
    - PrefetchW
    - EXPECT_EQ
    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:
    - PrefetchWT1
    - EXPECT_EQ
    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:
    - PrefetchWT0
    - EXPECT_EQ
    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:
    - PrefetchNta
    - EXPECT_EQ
    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:
    - PrefetchT0
    - EXPECT_EQ
    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:
    - PrefetchW
    - EXPECT_EQ
    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:
    - PrefetchWT1
    - EXPECT_EQ
    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:
    - PrefetchWT0
    - EXPECT_EQ
    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:
    - PrefetchNta
    - EXPECT_EQ
    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:
    - PrefetchT0
    - EXPECT_EQ
    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:
    - PrefetchW
    - EXPECT_EQ
    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:
    - PrefetchWT1
    - EXPECT_EQ
    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:
    - PrefetchWT0
    - EXPECT_EQ
    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:
    - PrefetchNta
    - EXPECT_EQ
    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:
    - PrefetchT0
    - EXPECT_EQ
    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:
    - PrefetchW
    - EXPECT_EQ
    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:
    - PrefetchWT1
    - EXPECT_EQ
    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:
    - PrefetchWT0
    - EXPECT_EQ
    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: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    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:36,1
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:41,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:52,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:54,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:69,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:69,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:83,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:84,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:84,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:112,1
    - Dst: mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:113,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:113,1
    - Dst: residence_impl
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 136
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - mincore
    - GetPageSize
    - tcmalloc_internal::OsMInCore::mincore
    - residence_impl
    - __builtin_trap
    - std::min
    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:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - length
    - result
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    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: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~OsMInCore() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OsMInCore() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:41,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:52,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:54,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:69,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:69,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:83,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:84,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:84,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:112,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:113,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - addr
    - size
    - mincore
    argTypes:
    - void*
    - size_t
    - MInCoreInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::MInCore::residence_impl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - GetPageSize
    - MInCoreInterface*::mincore
    - std::min
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    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:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - length
    - result
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    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: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~OsMInCore() override
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OsMInCore() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:41,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:52,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:54,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:69,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:69,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:83,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:84,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:84,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:112,1
    - Dst: MInCoreInterface*::mincore
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:113,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/internal/mincore.cc:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - addr
    - size
    - mincore
    argTypes:
    - void*
    - size_t
    - MInCoreInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 127
    functionName: tcmalloc_internal::MInCore::residence_impl
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/mincore.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - GetPageSize
    - MInCoreInterface*::mincore
    - std::min
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    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
    - memcpy
    - ParseCpulist
    - 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
    - memcpy
    - ParseCpulist
    - 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
    - memcpy
    - ParseCpulist
    - 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
    - memcpy
    - ParseCpulist
    - 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:
    - __atomic_always_lock_free
    - reinterpret_cast<IntType*>
    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:
    - __atomic_always_lock_free
    - reinterpret_cast<IntType*>
    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:
    - __atomic_always_lock_free
    - reinterpret_cast<IntType*>
    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:
    - __atomic_always_lock_free
    - reinterpret_cast<IntType*>
    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:
    - __atomic_always_lock_free
    - reinterpret_cast<IntType*>
    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:44,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:53,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:54,1
    - Dst: IsCooperative
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:72,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:73,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 86
    functionName: namespace::tcmalloc_internal
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - MallocHook::AddNewHook
    - abort
    - MallocHook::RemoveNewHook
    - IsCooperative
    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: 2
    EdgeCount: 2
    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:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    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: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:53,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - MallocHook::NewInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: AllocationGuard::Hook
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - MallocHook::RemoveNewHook
    - 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:72,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:73,1
    - Dst: AllocationGuard::AllocationGuard
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: AllocationGuardSpinLockHolder
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - AllocationGuard::AllocationGuard
    - IsCooperative
    - abort
    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:72,1
    - Dst: abort
      Src: /src/tcmalloc/tcmalloc/internal/allocation_guard.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: ABSL_EXCLUSIVE_LOCK_FUNCTION
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/allocation_guard.h
    functionUses: 0
    functionsReached:
    - IsCooperative
    - abort
    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: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    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
    - getpagesize
    - absl::base_internal::LowLevelCallOnce
    - static_cast<size_t>
    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
    - getpagesize
    - absl::base_internal::LowLevelCallOnce
    - static_cast<size_t>
    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
    - getpagesize
    - absl::base_internal::LowLevelCallOnce
    - static_cast<size_t>
    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
    - size
    - tcmalloc::tcmalloc_internal::GetBuildId
    - ElfW
    - 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
    - size
    - tcmalloc::tcmalloc_internal::GetBuildId
    - ElfW
    - 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
    - size
    - tcmalloc::tcmalloc_internal::GetBuildId
    - ElfW
    - 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
    - size
    - tcmalloc::tcmalloc_internal::GetBuildId
    - ElfW
    - reinterpret_cast<ElfW(Addr)>
    linkageType: ''
    returnType: void
    signature: void ParseBuildID(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    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: 0
    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: 0
    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: 0
    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: 0
    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: 0
    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: 0
    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: 0
    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: 0
    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: 0
    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: 0
    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:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::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: 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:
    - TimeSeriesTracker::Report
    - EXPECT_GE
    - ASSERT_LT
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ElementsAre
    - EXPECT_LE
    - EXPECT_THAT
    - TimeSeriesTracker::Iter
    - absl::SleepFor
    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:
    - absl::Nanoseconds
    - ASSERT_LT
    - EXPECT_EQ
    - Iter
    - ElementsAre
    - EXPECT_TRUE
    - Advance
    - IterBackwards
    - UpdateTimeBase
    - values_::empty
    - FAIL
    - EXPECT_THAT
    - Report
    - GetEpochAtOffset
    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:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::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: 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:
    - TimeSeriesTracker::Report
    - EXPECT_GE
    - ASSERT_LT
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ElementsAre
    - EXPECT_LE
    - EXPECT_THAT
    - TimeSeriesTracker::Iter
    - absl::SleepFor
    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:
    - absl::Nanoseconds
    - ASSERT_LT
    - EXPECT_EQ
    - Iter
    - ElementsAre
    - EXPECT_TRUE
    - Advance
    - IterBackwards
    - UpdateTimeBase
    - values_::empty
    - FAIL
    - EXPECT_THAT
    - Report
    - GetEpochAtOffset
    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:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::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: 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:
    - TimeSeriesTracker::Report
    - EXPECT_GE
    - ASSERT_LT
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ElementsAre
    - EXPECT_LE
    - EXPECT_THAT
    - TimeSeriesTracker::Iter
    - absl::SleepFor
    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:
    - absl::Nanoseconds
    - ASSERT_LT
    - EXPECT_EQ
    - Iter
    - ElementsAre
    - EXPECT_TRUE
    - Advance
    - IterBackwards
    - UpdateTimeBase
    - values_::empty
    - FAIL
    - EXPECT_THAT
    - Report
    - GetEpochAtOffset
    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:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::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: 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:
    - TimeSeriesTracker::Report
    - EXPECT_GE
    - ASSERT_LT
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ElementsAre
    - EXPECT_LE
    - EXPECT_THAT
    - TimeSeriesTracker::Iter
    - absl::SleepFor
    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:
    - absl::Nanoseconds
    - ASSERT_LT
    - EXPECT_EQ
    - Iter
    - ElementsAre
    - EXPECT_TRUE
    - Advance
    - IterBackwards
    - UpdateTimeBase
    - values_::empty
    - FAIL
    - EXPECT_THAT
    - Report
    - GetEpochAtOffset
    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:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::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: 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:
    - TimeSeriesTracker::Report
    - EXPECT_GE
    - ASSERT_LT
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ElementsAre
    - EXPECT_LE
    - EXPECT_THAT
    - TimeSeriesTracker::Iter
    - absl::SleepFor
    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:
    - absl::Nanoseconds
    - ASSERT_LT
    - EXPECT_EQ
    - Iter
    - ElementsAre
    - EXPECT_TRUE
    - Advance
    - IterBackwards
    - UpdateTimeBase
    - values_::empty
    - FAIL
    - EXPECT_THAT
    - Report
    - GetEpochAtOffset
    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:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::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: 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:
    - TimeSeriesTracker::Report
    - EXPECT_GE
    - ASSERT_LT
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ElementsAre
    - EXPECT_LE
    - EXPECT_THAT
    - TimeSeriesTracker::Iter
    - absl::SleepFor
    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:
    - absl::Nanoseconds
    - ASSERT_LT
    - EXPECT_EQ
    - Iter
    - ElementsAre
    - EXPECT_TRUE
    - Advance
    - IterBackwards
    - UpdateTimeBase
    - values_::empty
    - FAIL
    - EXPECT_THAT
    - Report
    - GetEpochAtOffset
    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:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::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: 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:
    - TimeSeriesTracker::Report
    - EXPECT_GE
    - ASSERT_LT
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ElementsAre
    - EXPECT_LE
    - EXPECT_THAT
    - TimeSeriesTracker::Iter
    - absl::SleepFor
    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:
    - absl::Nanoseconds
    - ASSERT_LT
    - EXPECT_EQ
    - Iter
    - ElementsAre
    - EXPECT_TRUE
    - Advance
    - IterBackwards
    - UpdateTimeBase
    - values_::empty
    - FAIL
    - EXPECT_THAT
    - Report
    - GetEpochAtOffset
    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:
    - absl::ToDoubleSeconds
    - tcmalloc::tcmalloc_internal::TimeSeriesTrackerTest::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: 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:
    - TimeSeriesTracker::Report
    - EXPECT_GE
    - ASSERT_LT
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ElementsAre
    - EXPECT_LE
    - EXPECT_THAT
    - TimeSeriesTracker::Iter
    - absl::SleepFor
    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:
    - absl::Nanoseconds
    - ASSERT_LT
    - EXPECT_EQ
    - Iter
    - ElementsAre
    - EXPECT_TRUE
    - Advance
    - IterBackwards
    - UpdateTimeBase
    - values_::empty
    - FAIL
    - EXPECT_THAT
    - Report
    - GetEpochAtOffset
    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:
    - CpuSet::Set
    - auto::has_value
    - CpuSet::FindFirstSet
    - OpenSysfsCacheList
    - TC_CHECK
    - signal_safe_read
    - signal_safe_close
    - CLR
    - CpuSet::CLR
    - std::optional::has_value
    - FindFirstSet
    - snprintf
    - NumCPUsMaybe
    - TC_CHECK_EQ
    - ParseCpulist
    - CpuSet::Zero
    - signal_safe_open
    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:
    - CpuSet::Set
    - auto::has_value
    - CpuSet::FindFirstSet
    - OpenSysfsCacheList
    - TC_CHECK
    - signal_safe_read
    - signal_safe_close
    - CLR
    - CpuSet::CLR
    - std::optional::has_value
    - FindFirstSet
    - NumCPUsMaybe
    - TC_CHECK_EQ
    - ParseCpulist
    - CpuSet::Zero
    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:
    - CpuSet::Set
    - auto::has_value
    - CpuSet::FindFirstSet
    - OpenSysfsCacheList
    - TC_CHECK
    - signal_safe_read
    - signal_safe_close
    - CLR
    - CpuSet::CLR
    - std::optional::has_value
    - FindFirstSet
    - NumCPUsMaybe
    - TC_CHECK_EQ
    - ParseCpulist
    - CpuSet::Zero
    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:
    - EXPECT_GE
    - FindClear
    - EXPECT_LE
    - std::vector::push_back
    - 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:
    - EXPECT_GE
    - FindClearBackwards
    - FindSetBackwards
    - EXPECT_LE
    - std::vector::push_back
    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:
    - Bitmap::size
    - EXPECT_EQ
    - 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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Bitmap::ClearBit
    - Bitmap::Clear
    - Bitmap::IsZero
    - Bitmap::SetBit
    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:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:122,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::ClearLowestBit
    - Bitmap::FindSet
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - Bitmap::SetBit
    - 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:140,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - ElementsAre
    - FindSetResults
    - FindSetResultsBackwards
    - EXPECT_THAT
    - Bitmap::SetBit
    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:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - FindClearResults
    - ElementsAre
    - EXPECT_TRUE
    - Bitmap::SetRange
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    - EXPECT_THAT
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,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: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:200,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:210,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:234,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:237,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:242,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:246,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::CountBits
    - EXPECT_EQ
    - absl::Bernoulli
    - absl::Uniform
    - SCOPED_TRACE
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:265,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - NextFreeRange
    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:276,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: used
      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_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - FindAndMark
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    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:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: used
      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: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    - Mark
    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:
    - EXPECT_GE
    - FindClear
    - EXPECT_LE
    - std::vector::push_back
    - 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:
    - EXPECT_GE
    - FindClearBackwards
    - FindSetBackwards
    - EXPECT_LE
    - std::vector::push_back
    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:
    - Bitmap::size
    - EXPECT_EQ
    - 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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Bitmap::ClearBit
    - Bitmap::Clear
    - Bitmap::IsZero
    - Bitmap::SetBit
    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:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:122,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::ClearLowestBit
    - Bitmap::FindSet
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - Bitmap::SetBit
    - 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:140,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - ElementsAre
    - FindSetResults
    - FindSetResultsBackwards
    - EXPECT_THAT
    - Bitmap::SetBit
    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:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - FindClearResults
    - ElementsAre
    - EXPECT_TRUE
    - Bitmap::SetRange
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    - EXPECT_THAT
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,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: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:200,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:210,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:234,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:237,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:242,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:246,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::CountBits
    - EXPECT_EQ
    - absl::Bernoulli
    - absl::Uniform
    - SCOPED_TRACE
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:265,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - NextFreeRange
    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:276,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: used
      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_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - FindAndMark
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    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:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: used
      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: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    - Mark
    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:
    - EXPECT_GE
    - FindClear
    - EXPECT_LE
    - std::vector::push_back
    - 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:
    - EXPECT_GE
    - FindClearBackwards
    - FindSetBackwards
    - EXPECT_LE
    - std::vector::push_back
    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:
    - Bitmap::size
    - EXPECT_EQ
    - 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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Bitmap::ClearBit
    - Bitmap::Clear
    - Bitmap::IsZero
    - Bitmap::SetBit
    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:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:122,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::ClearLowestBit
    - Bitmap::FindSet
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - Bitmap::SetBit
    - 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:140,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - ElementsAre
    - FindSetResults
    - FindSetResultsBackwards
    - EXPECT_THAT
    - Bitmap::SetBit
    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:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - FindClearResults
    - ElementsAre
    - EXPECT_TRUE
    - Bitmap::SetRange
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    - EXPECT_THAT
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,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: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:200,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:210,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:234,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:237,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:242,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:246,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::CountBits
    - EXPECT_EQ
    - absl::Bernoulli
    - absl::Uniform
    - SCOPED_TRACE
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:265,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - NextFreeRange
    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:276,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: used
      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_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - FindAndMark
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    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:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: used
      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: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    - Mark
    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:
    - EXPECT_GE
    - FindClear
    - EXPECT_LE
    - std::vector::push_back
    - 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:
    - EXPECT_GE
    - FindClearBackwards
    - FindSetBackwards
    - EXPECT_LE
    - std::vector::push_back
    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:
    - Bitmap::size
    - EXPECT_EQ
    - 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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Bitmap::ClearBit
    - Bitmap::Clear
    - Bitmap::IsZero
    - Bitmap::SetBit
    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:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:122,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::ClearLowestBit
    - Bitmap::FindSet
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - Bitmap::SetBit
    - 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:140,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - ElementsAre
    - FindSetResults
    - FindSetResultsBackwards
    - EXPECT_THAT
    - Bitmap::SetBit
    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:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - FindClearResults
    - ElementsAre
    - EXPECT_TRUE
    - Bitmap::SetRange
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    - EXPECT_THAT
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,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: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:200,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:210,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:234,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:237,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:242,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:246,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::CountBits
    - EXPECT_EQ
    - absl::Bernoulli
    - absl::Uniform
    - SCOPED_TRACE
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:265,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - NextFreeRange
    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:276,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: used
      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_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - FindAndMark
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    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:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: used
      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: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    - Mark
    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:
    - EXPECT_GE
    - FindClear
    - EXPECT_LE
    - std::vector::push_back
    - 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:
    - EXPECT_GE
    - FindClearBackwards
    - FindSetBackwards
    - EXPECT_LE
    - std::vector::push_back
    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:
    - Bitmap::size
    - EXPECT_EQ
    - 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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Bitmap::ClearBit
    - Bitmap::Clear
    - Bitmap::IsZero
    - Bitmap::SetBit
    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:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:122,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::ClearLowestBit
    - Bitmap::FindSet
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - Bitmap::SetBit
    - 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:140,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - ElementsAre
    - FindSetResults
    - FindSetResultsBackwards
    - EXPECT_THAT
    - Bitmap::SetBit
    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:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - FindClearResults
    - ElementsAre
    - EXPECT_TRUE
    - Bitmap::SetRange
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    - EXPECT_THAT
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,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: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:200,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:210,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:234,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:237,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:242,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:246,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::CountBits
    - EXPECT_EQ
    - absl::Bernoulli
    - absl::Uniform
    - SCOPED_TRACE
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:265,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - NextFreeRange
    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:276,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: used
      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_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - FindAndMark
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    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:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: used
      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: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    - Mark
    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:
    - EXPECT_GE
    - FindClear
    - EXPECT_LE
    - std::vector::push_back
    - 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:
    - EXPECT_GE
    - FindClearBackwards
    - FindSetBackwards
    - EXPECT_LE
    - std::vector::push_back
    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:
    - Bitmap::size
    - EXPECT_EQ
    - 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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Bitmap::ClearBit
    - Bitmap::Clear
    - Bitmap::IsZero
    - Bitmap::SetBit
    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:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:122,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::ClearLowestBit
    - Bitmap::FindSet
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - Bitmap::SetBit
    - 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:140,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - ElementsAre
    - FindSetResults
    - FindSetResultsBackwards
    - EXPECT_THAT
    - Bitmap::SetBit
    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:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - FindClearResults
    - ElementsAre
    - EXPECT_TRUE
    - Bitmap::SetRange
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    - EXPECT_THAT
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,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: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:200,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:210,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:234,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:237,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:242,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:246,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::CountBits
    - EXPECT_EQ
    - absl::Bernoulli
    - absl::Uniform
    - SCOPED_TRACE
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:265,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - NextFreeRange
    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:276,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: used
      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_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - FindAndMark
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    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:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: used
      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: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    - Mark
    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:
    - EXPECT_GE
    - FindClear
    - EXPECT_LE
    - std::vector::push_back
    - 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:
    - EXPECT_GE
    - FindClearBackwards
    - FindSetBackwards
    - EXPECT_LE
    - std::vector::push_back
    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:
    - Bitmap::size
    - EXPECT_EQ
    - 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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Bitmap::ClearBit
    - Bitmap::Clear
    - Bitmap::IsZero
    - Bitmap::SetBit
    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:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:122,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::ClearLowestBit
    - Bitmap::FindSet
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - Bitmap::SetBit
    - 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:140,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - ElementsAre
    - FindSetResults
    - FindSetResultsBackwards
    - EXPECT_THAT
    - Bitmap::SetBit
    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:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - FindClearResults
    - ElementsAre
    - EXPECT_TRUE
    - Bitmap::SetRange
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    - EXPECT_THAT
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,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: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:200,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:210,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:234,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:237,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:242,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:246,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::CountBits
    - EXPECT_EQ
    - absl::Bernoulli
    - absl::Uniform
    - SCOPED_TRACE
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:265,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - NextFreeRange
    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:276,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: used
      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_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - FindAndMark
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    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:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: used
      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: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    - Mark
    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:
    - EXPECT_GE
    - FindClear
    - EXPECT_LE
    - std::vector::push_back
    - 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:
    - EXPECT_GE
    - FindClearBackwards
    - FindSetBackwards
    - EXPECT_LE
    - std::vector::push_back
    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:
    - Bitmap::size
    - EXPECT_EQ
    - 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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:107,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:110,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - Bitmap::ClearBit
    - Bitmap::Clear
    - Bitmap::IsZero
    - Bitmap::SetBit
    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:117,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:118,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:120,1
    - Dst: Bitmap::FindSet
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:122,1
    - Dst: Bitmap::ClearLowestBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - EXPECT_EQ
    - Bitmap::ClearLowestBit
    - Bitmap::FindSet
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CheckClearLowestBit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:131,1
    - Dst: Bitmap::size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    - Dst: Bitmap::GetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::size
    - Bitmap::SetBit
    - 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:140,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:141,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:144,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:145,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:148,1
    - Dst: ElementsAre
      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: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:151,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:152,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: FindSetResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:154,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: FindSetResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:159,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - ElementsAre
    - FindSetResults
    - FindSetResultsBackwards
    - EXPECT_THAT
    - Bitmap::SetBit
    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:165,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:175,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: FindClearResults
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:181,1
    - Dst: ElementsAre
      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
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: FindClearResultsBackwards
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:186,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - FindClearResults
    - ElementsAre
    - EXPECT_TRUE
    - Bitmap::SetRange
    - FindClearResultsBackwards
    - Bitmap::ClearBit
    - EXPECT_THAT
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:196,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: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:200,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:201,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:202,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:207,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:209,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:210,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:211,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:212,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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:217,1
    - Dst: Bitmap::ClearBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:219,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Bitmap::CountBits
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:234,1
    - Dst: Bitmap::SetBit
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:237,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:242,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:246,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    - Dst: Bitmap::CountBits
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - Bitmap::CountBits
    - EXPECT_EQ
    - absl::Bernoulli
    - absl::Uniform
    - SCOPED_TRACE
    - Bitmap::SetBit
    linkageType: ''
    returnType: void
    signature: void TEST_F(BitmapTest, CountBitsFuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextFreeRange
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:265,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: tcmalloc::tcmalloc_internal::RangeTrackerTest::FreeRanges
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - NextFreeRange
    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:276,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:277,1
    - Dst: used
      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_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: FindAndMark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:281,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:283,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:287,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:290,1
    - Dst: longest_free
      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: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:292,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - ASSERT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - FindAndMark
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    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:300,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:300,1
    - Dst: Mark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:302,1
    - Dst: used
      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: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: FreeRanges
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Pair
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:304,1
    - Dst: Unmark
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: used
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    - Dst: longest_free
      Src: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/range_tracker_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ElementsAre
    - Unmark
    - FreeRanges
    - longest_free
    - EXPECT_THAT
    - Pair
    - used
    - Mark
    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::GetPageSize
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - range
    - tcmalloc_internal::OsMInCore::mincore
    - auto::get
    - BENCHMARK
    - std::make_unique<unsigned char[]>
    - std::min
    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::GetPageSize
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - range
    - tcmalloc_internal::OsMInCore::mincore
    - auto::get
    - std::make_unique<unsigned char[]>
    - std::min
    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::GetPageSize
    - reinterpret_cast<void*>
    - TC_CHECK_LE
    - range
    - tcmalloc_internal::OsMInCore::mincore
    - auto::get
    - std::make_unique<unsigned char[]>
    - std::min
    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:
    - absl::string_view
    - reinterpret_cast<const char*>
    - google::protobuf::io::GzipInputStream::Next
    - absl::StrAppend
    - ASSERT_THAT
    - testing::HasSubstr
    - ASSERT_EQ
    - std::min
    - ASSERT_NE
    - std::string::find
    - absl::string_view::size
    - GTEST_SKIP
    - ASSERT_GE
    - absl::SimpleAtoi
    - ASSERT_TRUE
    - signal_safe_open
    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:
    - absl::string_view
    - reinterpret_cast<const char*>
    - google::protobuf::io::GzipInputStream::Next
    - absl::StrAppend
    - ASSERT_THAT
    - testing::HasSubstr
    - ASSERT_EQ
    - std::min
    - ASSERT_NE
    - std::string::find
    - absl::string_view::size
    - GTEST_SKIP
    - ASSERT_GE
    - absl::SimpleAtoi
    - ASSERT_TRUE
    - signal_safe_open
    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:
    - absl::string_view
    - reinterpret_cast<const char*>
    - google::protobuf::io::GzipInputStream::Next
    - absl::StrAppend
    - ASSERT_THAT
    - testing::HasSubstr
    - ASSERT_EQ
    - std::min
    - ASSERT_NE
    - std::string::find
    - absl::string_view::size
    - GTEST_SKIP
    - ASSERT_GE
    - absl::SimpleAtoi
    - ASSERT_TRUE
    - signal_safe_open
    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:
    - absl::string_view
    - reinterpret_cast<const char*>
    - google::protobuf::io::GzipInputStream::Next
    - absl::StrAppend
    - ASSERT_THAT
    - testing::HasSubstr
    - ASSERT_EQ
    - std::min
    - ASSERT_NE
    - std::string::find
    - absl::string_view::size
    - GTEST_SKIP
    - ASSERT_GE
    - absl::SimpleAtoi
    - ASSERT_TRUE
    - signal_safe_open
    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:
    - absl::string_view
    - reinterpret_cast<const char*>
    - google::protobuf::io::GzipInputStream::Next
    - absl::StrAppend
    - ASSERT_THAT
    - testing::HasSubstr
    - ASSERT_EQ
    - std::min
    - ASSERT_NE
    - std::string::find
    - absl::string_view::size
    - GTEST_SKIP
    - ASSERT_GE
    - absl::SimpleAtoi
    - ASSERT_TRUE
    - signal_safe_open
    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:
    - absl::string_view
    - reinterpret_cast<const char*>
    - google::protobuf::io::GzipInputStream::Next
    - absl::StrAppend
    - ASSERT_THAT
    - testing::HasSubstr
    - ASSERT_EQ
    - std::min
    - ASSERT_NE
    - std::string::find
    - absl::string_view::size
    - GTEST_SKIP
    - ASSERT_GE
    - absl::SimpleAtoi
    - ASSERT_TRUE
    - signal_safe_open
    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:
    - absl::string_view
    - reinterpret_cast<const char*>
    - google::protobuf::io::GzipInputStream::Next
    - absl::StrAppend
    - ASSERT_THAT
    - testing::HasSubstr
    - ASSERT_EQ
    - std::min
    - ASSERT_NE
    - std::string::find
    - absl::string_view::size
    - GTEST_SKIP
    - ASSERT_GE
    - absl::SimpleAtoi
    - ASSERT_TRUE
    - signal_safe_open
    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:
    - absl::string_view
    - reinterpret_cast<const char*>
    - google::protobuf::io::GzipInputStream::Next
    - absl::StrAppend
    - ASSERT_THAT
    - testing::HasSubstr
    - ASSERT_EQ
    - std::min
    - ASSERT_NE
    - std::string::find
    - absl::string_view::size
    - GTEST_SKIP
    - ASSERT_GE
    - absl::SimpleAtoi
    - ASSERT_TRUE
    - signal_safe_open
    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:
    - std::forward<Args>
    - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    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
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - mlock
    - ASSERT_NE
    - EXPECT_THAT
    - mmap
    - FieldsAre
    - Optional
    - ::benchmark::DoNotOptimize
    - 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:
    - CHECK_NE
    - std::vector::data
    - absl::string_view::data
    - CHECK_EQ
    - close
    - write
    - signal_safe_open
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::emplace
    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:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - std::optional::emplace
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - Residency::SinglePageBitmaps::swapped::IsZero
    - munmap
    - ASSERT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - ASSERT_NE
    - reinterpret_cast<uint8_t*>
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - std::optional::reset
    - mmap
    - ASSERT_TRUE
    - std::optional::emplace
    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
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - mlock
    - ASSERT_NE
    - EXPECT_THAT
    - mmap
    - FieldsAre
    - Optional
    - ::benchmark::DoNotOptimize
    - 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:
    - CHECK_NE
    - std::vector::data
    - absl::string_view::data
    - CHECK_EQ
    - close
    - write
    - signal_safe_open
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::emplace
    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:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - std::optional::emplace
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - Residency::SinglePageBitmaps::swapped::IsZero
    - munmap
    - ASSERT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - ASSERT_NE
    - reinterpret_cast<uint8_t*>
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - std::optional::reset
    - mmap
    - ASSERT_TRUE
    - std::optional::emplace
    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:
    - std::forward<Args>
    - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    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
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - mlock
    - ASSERT_NE
    - EXPECT_THAT
    - mmap
    - FieldsAre
    - Optional
    - ::benchmark::DoNotOptimize
    - 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:
    - CHECK_NE
    - std::vector::data
    - absl::string_view::data
    - CHECK_EQ
    - close
    - write
    - signal_safe_open
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::emplace
    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:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - std::optional::emplace
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - Residency::SinglePageBitmaps::swapped::IsZero
    - munmap
    - ASSERT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - ASSERT_NE
    - reinterpret_cast<uint8_t*>
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - std::optional::reset
    - mmap
    - ASSERT_TRUE
    - std::optional::emplace
    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
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - mlock
    - ASSERT_NE
    - EXPECT_THAT
    - mmap
    - FieldsAre
    - Optional
    - ::benchmark::DoNotOptimize
    - 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:
    - CHECK_NE
    - std::vector::data
    - absl::string_view::data
    - CHECK_EQ
    - close
    - write
    - signal_safe_open
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::emplace
    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:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - std::optional::emplace
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - Residency::SinglePageBitmaps::swapped::IsZero
    - munmap
    - ASSERT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - ASSERT_NE
    - reinterpret_cast<uint8_t*>
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - std::optional::reset
    - mmap
    - ASSERT_TRUE
    - std::optional::emplace
    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:
    - std::forward<Args>
    - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    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
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - mlock
    - ASSERT_NE
    - EXPECT_THAT
    - mmap
    - FieldsAre
    - Optional
    - ::benchmark::DoNotOptimize
    - 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:
    - CHECK_NE
    - std::vector::data
    - absl::string_view::data
    - CHECK_EQ
    - close
    - write
    - signal_safe_open
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::emplace
    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:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - std::optional::emplace
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - Residency::SinglePageBitmaps::swapped::IsZero
    - munmap
    - ASSERT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - ASSERT_NE
    - reinterpret_cast<uint8_t*>
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - std::optional::reset
    - mmap
    - ASSERT_TRUE
    - std::optional::emplace
    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
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - mlock
    - ASSERT_NE
    - EXPECT_THAT
    - mmap
    - FieldsAre
    - Optional
    - ::benchmark::DoNotOptimize
    - 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:
    - CHECK_NE
    - std::vector::data
    - absl::string_view::data
    - CHECK_EQ
    - close
    - write
    - signal_safe_open
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::emplace
    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:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - std::optional::emplace
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - Residency::SinglePageBitmaps::swapped::IsZero
    - munmap
    - ASSERT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - ASSERT_NE
    - reinterpret_cast<uint8_t*>
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - std::optional::reset
    - mmap
    - ASSERT_TRUE
    - std::optional::emplace
    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:
    - std::forward<Args>
    - tcmalloc::tcmalloc_internal::ResidencySpouse::Get
    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
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - mlock
    - ASSERT_NE
    - EXPECT_THAT
    - mmap
    - FieldsAre
    - Optional
    - ::benchmark::DoNotOptimize
    - 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:
    - CHECK_NE
    - std::vector::data
    - absl::string_view::data
    - CHECK_EQ
    - close
    - write
    - signal_safe_open
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::emplace
    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:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - std::optional::emplace
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - Residency::SinglePageBitmaps::swapped::IsZero
    - munmap
    - ASSERT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - ASSERT_NE
    - reinterpret_cast<uint8_t*>
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - std::optional::reset
    - mmap
    - ASSERT_TRUE
    - std::optional::emplace
    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
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - mlock
    - ASSERT_NE
    - EXPECT_THAT
    - mmap
    - FieldsAre
    - Optional
    - ::benchmark::DoNotOptimize
    - 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:
    - CHECK_NE
    - std::vector::data
    - absl::string_view::data
    - CHECK_EQ
    - close
    - write
    - signal_safe_open
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - EXPECT_TRUE
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - EXPECT_THAT
    - tcmalloc::tcmalloc_internal::BitmapsAreEqual
    - tcmalloc::tcmalloc_internal::GenerateExpectedSinglePageBitmaps
    - std::optional::emplace
    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
    - absl::StrCat
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - tcmalloc::tcmalloc_internal::GenerateHolesInSinglePage
    - std::optional::emplace
    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:
    - reinterpret_cast<void*>
    - EXPECT_EQ
    - ResidencySpouse::GetUnbackedAndSwappedBitmaps
    - std::optional::reset
    - std::optional::emplace
    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:
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<void*>
    - Residency::SinglePageBitmaps::unbacked::IsZero
    - Residency::SinglePageBitmaps::swapped::IsZero
    - munmap
    - ASSERT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - ResidencyPageMap::GetUnbackedAndSwappedBitmaps
    - ASSERT_NE
    - reinterpret_cast<uint8_t*>
    - Residency::SinglePageBitmaps::unbacked::GetBit
    - Residency::SinglePageBitmaps::unbacked::ClearLowestBit
    - std::optional::reset
    - mmap
    - ASSERT_TRUE
    - std::optional::emplace
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:52,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_GT
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - EXPECT_EQ
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:52,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_GT
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - EXPECT_EQ
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:52,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_GT
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - EXPECT_EQ
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:52,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_GT
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - EXPECT_EQ
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:52,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_GT
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - EXPECT_EQ
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:52,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_GT
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - EXPECT_EQ
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:52,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_GT
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - EXPECT_EQ
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    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: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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:52,1
    - Dst: SampledAllocation::PrepareForSampling
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: tcmalloc::tcmalloc_internal::PrepareStackTrace
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:63,1
    - Dst: EXPECT_GT
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sampled_allocation_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PrepareStackTrace
    - SampledAllocation::PrepareForSampling
    - EXPECT_GT
    - EXPECT_EQ
    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
    - EXPECT_EQ
    - ASSERT_EQ
    - strcmp
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - getenv
    - ASSERT_TRUE
    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
    - EXPECT_EQ
    - ASSERT_EQ
    - strcmp
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - getenv
    - ASSERT_TRUE
    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
    - EXPECT_EQ
    - ASSERT_EQ
    - strcmp
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - getenv
    - ASSERT_TRUE
    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
    - EXPECT_EQ
    - ASSERT_EQ
    - strcmp
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - getenv
    - ASSERT_TRUE
    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
    - EXPECT_EQ
    - ASSERT_EQ
    - strcmp
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - getenv
    - ASSERT_TRUE
    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
    - EXPECT_EQ
    - ASSERT_EQ
    - strcmp
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - getenv
    - ASSERT_TRUE
    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
    - EXPECT_EQ
    - ASSERT_EQ
    - strcmp
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - getenv
    - ASSERT_TRUE
    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
    - EXPECT_EQ
    - ASSERT_EQ
    - strcmp
    - tcmalloc::tcmalloc_internal::thread_safe_getenv
    - getenv
    - ASSERT_TRUE
    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:
    - Unsupported
    - TC_BUG
    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:
    - MockSpanList::append
    - free
    - std::vector::begin
    - range
    - absl::BitGen
    - BENCHMARK
    - TC_CHECK_NE
    - LinkedList::PopBatch
    - std::vector::data
    - std::vector::end
    - LinkedList::TryPop
    - std::shuffle
    - SetItemsProcessed
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - MockSpanList::remove
    - LinkedList::Push
    - iterations
    - LinkedList::PushBatch
    - malloc
    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:
    - range
    - absl::BitGen
    - std::vector::end
    - free
    - std::vector::begin
    - LinkedList::TryPop
    - LinkedList::Push
    - iterations
    - std::shuffle
    - malloc
    - SetItemsProcessed
    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:
    - range
    - LinkedList::PopBatch
    - absl::BitGen
    - std::vector::end
    - std::vector::data
    - free
    - std::vector::begin
    - LinkedList::PushBatch
    - iterations
    - std::shuffle
    - malloc
    - SetItemsProcessed
    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:
    - TC_CHECK_NE
    - range
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - MockSpanList::append
    - std::vector::begin
    - MockSpanList::remove
    - std::shuffle
    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:
    - range
    - absl::BitGen
    - std::vector::end
    - free
    - std::vector::begin
    - LinkedList::TryPop
    - LinkedList::Push
    - iterations
    - std::shuffle
    - malloc
    - SetItemsProcessed
    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:
    - range
    - LinkedList::PopBatch
    - absl::BitGen
    - std::vector::end
    - std::vector::data
    - free
    - std::vector::begin
    - LinkedList::PushBatch
    - iterations
    - std::shuffle
    - malloc
    - SetItemsProcessed
    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:
    - TC_CHECK_NE
    - range
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - MockSpanList::append
    - std::vector::begin
    - MockSpanList::remove
    - std::shuffle
    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:
    - range
    - absl::BitGen
    - std::vector::end
    - free
    - std::vector::begin
    - LinkedList::TryPop
    - LinkedList::Push
    - iterations
    - std::shuffle
    - malloc
    - SetItemsProcessed
    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:
    - range
    - LinkedList::PopBatch
    - absl::BitGen
    - std::vector::end
    - std::vector::data
    - free
    - std::vector::begin
    - LinkedList::PushBatch
    - iterations
    - std::shuffle
    - malloc
    - SetItemsProcessed
    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:
    - TC_CHECK_NE
    - range
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - MockSpanList::append
    - std::vector::begin
    - MockSpanList::remove
    - std::shuffle
    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:
    - range
    - absl::BitGen
    - std::vector::end
    - free
    - std::vector::begin
    - LinkedList::TryPop
    - LinkedList::Push
    - iterations
    - std::shuffle
    - malloc
    - SetItemsProcessed
    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:
    - range
    - LinkedList::PopBatch
    - absl::BitGen
    - std::vector::end
    - std::vector::data
    - free
    - std::vector::begin
    - LinkedList::PushBatch
    - iterations
    - std::shuffle
    - malloc
    - SetItemsProcessed
    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:
    - TC_CHECK_NE
    - range
    - tcmalloc::tcmalloc_internal::MockSpan::New
    - absl::BitGen
    - std::vector::end
    - MockSpanList::append
    - std::vector::begin
    - MockSpanList::remove
    - std::shuffle
    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:63,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:64,1
    - Dst: NumCPUsMaybe
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:75,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:76,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 81
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - std::optional::has_value
    - tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
    - 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:63,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::NumCPUsMaybe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 0
    functionsReached: []
    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:75,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:76,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::NumCPUs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 18
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::NumCPUsMaybe
    - std::optional::has_value
    linkageType: ''
    returnType: int
    signature: int NumCPUs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::base_internal::LowLevelCallOnce
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:63,1
    - Dst: tcmalloc_internal::sysinfo_internal::NumPossibleCPUsNoCache
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcmalloc_internal::NumCPUsMaybe
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 1
    functionsReached: []
    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:75,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:76,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/internal/sysinfo.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: tcmalloc_internal::NumCPUs
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/sysinfo.h
    functionUses: 18
    functionsReached:
    - TC_CHECK
    - tcmalloc_internal::NumCPUsMaybe
    - std::optional::has_value
    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:
    - lseek
    - TC_CHECK_NE
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    - write
    - absl::string_view::data
    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:
    - std::move
    - SyntheticCpuList::SyntheticCpuList
    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:
    - close
    - memfd_create
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    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:
    - absl::Span<const SyntheticCpuList>::size
    - NumaTopology::InitForTest
    - 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: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - 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: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    - NumaTopology::active_partitions
    - NumaTopology::Init
    - EXPECT_LT
    - NumaTopology::GetCpuPartition
    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:
    - lseek
    - TC_CHECK_NE
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    - write
    - absl::string_view::data
    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:
    - std::move
    - SyntheticCpuList::SyntheticCpuList
    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:
    - close
    - memfd_create
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    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:
    - absl::Span<const SyntheticCpuList>::size
    - NumaTopology::InitForTest
    - 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: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - 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: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    - NumaTopology::active_partitions
    - NumaTopology::Init
    - EXPECT_LT
    - NumaTopology::GetCpuPartition
    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:
    - lseek
    - TC_CHECK_NE
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    - write
    - absl::string_view::data
    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:
    - std::move
    - SyntheticCpuList::SyntheticCpuList
    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:
    - close
    - memfd_create
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    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:
    - absl::Span<const SyntheticCpuList>::size
    - NumaTopology::InitForTest
    - 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: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - 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: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    - NumaTopology::active_partitions
    - NumaTopology::Init
    - EXPECT_LT
    - NumaTopology::GetCpuPartition
    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:
    - lseek
    - TC_CHECK_NE
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    - write
    - absl::string_view::data
    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:
    - std::move
    - SyntheticCpuList::SyntheticCpuList
    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:
    - close
    - memfd_create
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    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:
    - absl::Span<const SyntheticCpuList>::size
    - NumaTopology::InitForTest
    - 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: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - 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: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    - NumaTopology::active_partitions
    - NumaTopology::Init
    - EXPECT_LT
    - NumaTopology::GetCpuPartition
    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:
    - lseek
    - TC_CHECK_NE
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    - write
    - absl::string_view::data
    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:
    - std::move
    - SyntheticCpuList::SyntheticCpuList
    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:
    - close
    - memfd_create
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    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:
    - absl::Span<const SyntheticCpuList>::size
    - NumaTopology::InitForTest
    - 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: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - 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: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    - NumaTopology::active_partitions
    - NumaTopology::Init
    - EXPECT_LT
    - NumaTopology::GetCpuPartition
    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:
    - lseek
    - TC_CHECK_NE
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    - write
    - absl::string_view::data
    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:
    - std::move
    - SyntheticCpuList::SyntheticCpuList
    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:
    - close
    - memfd_create
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    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:
    - absl::Span<const SyntheticCpuList>::size
    - NumaTopology::InitForTest
    - 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: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - 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: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    - NumaTopology::active_partitions
    - NumaTopology::Init
    - EXPECT_LT
    - NumaTopology::GetCpuPartition
    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:
    - lseek
    - TC_CHECK_NE
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    - write
    - absl::string_view::data
    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:
    - std::move
    - SyntheticCpuList::SyntheticCpuList
    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:
    - close
    - memfd_create
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    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:
    - absl::Span<const SyntheticCpuList>::size
    - NumaTopology::InitForTest
    - 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: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - 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: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    - NumaTopology::active_partitions
    - NumaTopology::Init
    - EXPECT_LT
    - NumaTopology::GetCpuPartition
    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:
    - lseek
    - TC_CHECK_NE
    - memfd_create
    - TC_CHECK_EQ
    - absl::string_view::size
    - write
    - absl::string_view::data
    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:
    - std::move
    - SyntheticCpuList::SyntheticCpuList
    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:
    - close
    - memfd_create
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    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:
    - absl::Span<const SyntheticCpuList>::size
    - NumaTopology::InitForTest
    - 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: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - 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: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::active_partitions
    - auto::numa_aware
    - std::vector::emplace_back
    - 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: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: tcmalloc::tcmalloc_internal::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/numa_test.cc
    functionUses: 0
    functionsReached:
    - NumCPUs
    - NumaTopology::active_partitions
    - NumaTopology::Init
    - EXPECT_LT
    - NumaTopology::GetCpuPartition
    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:
    - AndersonDarlingTest
    - EXPECT_GT
    - std::vector::end
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::vector::begin
    - std::sort
    - static_cast<uint64_t>
    - std::min
    - 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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_GE
    - 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::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - AndersonDarlingTest
    - EXPECT_GT
    - std::vector::end
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::vector::begin
    - std::sort
    - static_cast<uint64_t>
    - std::min
    - 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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_GE
    - 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::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - AndersonDarlingTest
    - EXPECT_GT
    - std::vector::end
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::vector::begin
    - std::sort
    - static_cast<uint64_t>
    - std::min
    - 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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_GE
    - 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::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - AndersonDarlingTest
    - EXPECT_GT
    - std::vector::end
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::vector::begin
    - std::sort
    - static_cast<uint64_t>
    - std::min
    - 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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_GE
    - 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::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - AndersonDarlingTest
    - EXPECT_GT
    - std::vector::end
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::vector::begin
    - std::sort
    - static_cast<uint64_t>
    - std::min
    - 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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_GE
    - 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::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - AndersonDarlingTest
    - EXPECT_GT
    - std::vector::end
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::vector::begin
    - std::sort
    - static_cast<uint64_t>
    - std::min
    - 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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_GE
    - 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::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - AndersonDarlingTest
    - EXPECT_GT
    - std::vector::end
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::vector::begin
    - std::sort
    - static_cast<uint64_t>
    - std::min
    - 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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_GE
    - 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::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - AndersonDarlingTest
    - EXPECT_GT
    - std::vector::end
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - std::vector::begin
    - std::sort
    - static_cast<uint64_t>
    - std::min
    - 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:
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - ASSERT_GE
    - 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::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - strlen
    - strncmp
    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:
    - strlen
    - strncmp
    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:
    - strlen
    - strncmp
    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:
    - absl::Uniform<int32_t>
    - BENCHMARK_TEMPLATE
    - Bitmap::ClearBit
    - KeepRunningBatch
    - benchmark::DoNotOptimize
    - FindSet
    - RangeTracker::FindAndMark
    - absl::LogUniform<int32_t>
    - FindSetBackwards
    - Bitmap::NextFreeRange
    - PauseTiming
    - std::vector::push_back
    - std::min
    - ExamineDoFind<N, Goal, Dir>
    - absl::Bernoulli
    - RangeTracker::Clear
    - Bitmap::SetRange
    - DoScanBenchmark<N>
    - std::vector::size
    - RangeTracker::used
    - DoSearchBenchmark<N, Goal, Dir>
    - Bitmap::SetBit
    - SetItemsProcessed
    - ResumeTiming
    - FindClear
    - FindClearBackwards
    - iterations
    - RangeTracker::Unmark
    - RangeTracker::longest_free
    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::FindAndMark
    - absl::Uniform<int32_t>
    - absl::LogUniform<int32_t>
    - std::vector::push_back
    - RangeTracker::Unmark
    - iterations
    - std::vector::size
    - RangeTracker::used
    - RangeTracker::longest_free
    - SetItemsProcessed
    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:
    - RangeTracker::FindAndMark
    - iterations
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - SetItemsProcessed
    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::FindAndMark
    - absl::Uniform<int32_t>
    - tcmalloc_internal::min
    - iterations
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - RangeTracker::longest_free
    - SetItemsProcessed
    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:
    - ResumeTiming
    - RangeTracker::FindAndMark
    - RangeTracker::Clear
    - KeepRunningBatch
    - iterations
    - PauseTiming
    - benchmark::DoNotOptimize
    - SetItemsProcessed
    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:
    - ResumeTiming
    - RangeTracker::FindAndMark
    - RangeTracker::Clear
    - KeepRunningBatch
    - iterations
    - PauseTiming
    - RangeTracker::Unmark
    - SetItemsProcessed
    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>*::FindClear
    - Bitmap<N>*::FindSet
    - Bitmap<N>*::FindClearBackwards
    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:
    - tcmalloc_internal::ExamineDoFind
    - benchmark::DoNotOptimize
    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::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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:
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::SetBit
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:
    - absl::Bernoulli
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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:
    - tcmalloc_internal::DoScanBenchmark
    - SetItemsProcessed
    - Bitmap::SetBit
    - Bitmap::ClearBit
    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::SetRange
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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:
    - absl::Bernoulli
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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:
    - absl::Uniform<int32_t>
    - tcmalloc_internal::min
    - Bitmap::SetRange
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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::FindAndMark
    - absl::Uniform<int32_t>
    - absl::LogUniform<int32_t>
    - std::vector::push_back
    - RangeTracker::Unmark
    - iterations
    - std::vector::size
    - RangeTracker::used
    - RangeTracker::longest_free
    - SetItemsProcessed
    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:
    - RangeTracker::FindAndMark
    - iterations
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - SetItemsProcessed
    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::FindAndMark
    - absl::Uniform<int32_t>
    - tcmalloc_internal::min
    - iterations
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - RangeTracker::longest_free
    - SetItemsProcessed
    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:
    - ResumeTiming
    - RangeTracker::FindAndMark
    - RangeTracker::Clear
    - KeepRunningBatch
    - iterations
    - PauseTiming
    - benchmark::DoNotOptimize
    - SetItemsProcessed
    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:
    - ResumeTiming
    - RangeTracker::FindAndMark
    - RangeTracker::Clear
    - KeepRunningBatch
    - iterations
    - PauseTiming
    - RangeTracker::Unmark
    - SetItemsProcessed
    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>*::FindClear
    - Bitmap<N>*::FindSet
    - Bitmap<N>*::FindClearBackwards
    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:
    - tcmalloc_internal::ExamineDoFind
    - benchmark::DoNotOptimize
    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::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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:
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::SetBit
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:
    - absl::Bernoulli
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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:
    - tcmalloc_internal::DoScanBenchmark
    - SetItemsProcessed
    - Bitmap::SetBit
    - Bitmap::ClearBit
    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::SetRange
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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:
    - absl::Bernoulli
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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:
    - absl::Uniform<int32_t>
    - tcmalloc_internal::min
    - Bitmap::SetRange
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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::FindAndMark
    - absl::Uniform<int32_t>
    - absl::LogUniform<int32_t>
    - std::vector::push_back
    - RangeTracker::Unmark
    - iterations
    - std::vector::size
    - RangeTracker::used
    - RangeTracker::longest_free
    - SetItemsProcessed
    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:
    - RangeTracker::FindAndMark
    - iterations
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - SetItemsProcessed
    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::FindAndMark
    - absl::Uniform<int32_t>
    - tcmalloc_internal::min
    - iterations
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - RangeTracker::longest_free
    - SetItemsProcessed
    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:
    - ResumeTiming
    - RangeTracker::FindAndMark
    - RangeTracker::Clear
    - KeepRunningBatch
    - iterations
    - PauseTiming
    - benchmark::DoNotOptimize
    - SetItemsProcessed
    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:
    - ResumeTiming
    - RangeTracker::FindAndMark
    - RangeTracker::Clear
    - KeepRunningBatch
    - iterations
    - PauseTiming
    - RangeTracker::Unmark
    - SetItemsProcessed
    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>*::FindClear
    - Bitmap<N>*::FindSet
    - Bitmap<N>*::FindClearBackwards
    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:
    - tcmalloc_internal::ExamineDoFind
    - benchmark::DoNotOptimize
    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::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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:
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::SetBit
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:
    - absl::Bernoulli
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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:
    - tcmalloc_internal::DoScanBenchmark
    - SetItemsProcessed
    - Bitmap::SetBit
    - Bitmap::ClearBit
    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::SetRange
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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:
    - absl::Bernoulli
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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:
    - absl::Uniform<int32_t>
    - tcmalloc_internal::min
    - Bitmap::SetRange
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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::FindAndMark
    - absl::Uniform<int32_t>
    - absl::LogUniform<int32_t>
    - std::vector::push_back
    - RangeTracker::Unmark
    - iterations
    - std::vector::size
    - RangeTracker::used
    - RangeTracker::longest_free
    - SetItemsProcessed
    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:
    - RangeTracker::FindAndMark
    - iterations
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - SetItemsProcessed
    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::FindAndMark
    - absl::Uniform<int32_t>
    - tcmalloc_internal::min
    - iterations
    - benchmark::DoNotOptimize
    - RangeTracker::Unmark
    - RangeTracker::longest_free
    - SetItemsProcessed
    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:
    - ResumeTiming
    - RangeTracker::FindAndMark
    - RangeTracker::Clear
    - KeepRunningBatch
    - iterations
    - PauseTiming
    - benchmark::DoNotOptimize
    - SetItemsProcessed
    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:
    - ResumeTiming
    - RangeTracker::FindAndMark
    - RangeTracker::Clear
    - KeepRunningBatch
    - iterations
    - PauseTiming
    - RangeTracker::Unmark
    - SetItemsProcessed
    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>*::FindClear
    - Bitmap<N>*::FindSet
    - Bitmap<N>*::FindClearBackwards
    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:
    - tcmalloc_internal::ExamineDoFind
    - benchmark::DoNotOptimize
    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::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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:
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::SetBit
    - Bitmap::SetRange
    - Bitmap::ClearBit
    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:
    - absl::Bernoulli
    - Bitmap::SetBit
    - tcmalloc_internal::DoSearchBenchmark
    - Bitmap::ClearBit
    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:
    - tcmalloc_internal::DoScanBenchmark
    - SetItemsProcessed
    - Bitmap::SetBit
    - Bitmap::ClearBit
    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::SetRange
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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:
    - absl::Bernoulli
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    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:
    - absl::Uniform<int32_t>
    - tcmalloc_internal::min
    - Bitmap::SetRange
    - Bitmap::ClearBit
    - tcmalloc_internal::DoScanBenchmark
    - Bitmap::SetBit
    - SetItemsProcessed
    linkageType: ''
    returnType: void
    signature: void BM_ScanChunks(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.h:88,1
    - Dst: GetPageSize
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.h:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 153
    functionName: namespace
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached:
    - GetPageSize
    - __builtin_trap
    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:
    - Dst: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.h:88,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - 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: __builtin_trap
      Src: /src/tcmalloc/tcmalloc/internal/pageflags.h:88,1
    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: operator delete(void*)
    functionSourceFile: /src/tcmalloc/tcmalloc/internal/pageflags.h
    functionUses: 0
    functionsReached:
    - __builtin_trap
    linkageType: ''
    returnType: void
    signature: void operator delete(void*)
  - 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:
    - load
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - load
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - load
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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:
    - load
    - tcmalloc::tcmalloc_internal::ExponentialBiased::NextRandom
    - tcmalloc::tcmalloc_internal::ExponentialBiased::GetRandom
    - 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: 0
    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:
    - reinterpret_cast<uintptr_t>
    - Eq
    - end
    - GetPageSize
    - EXPECT_THAT
    - find
    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: 0
    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
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - 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:
    - MInCoreTest::chunkSize
    - Eq
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::addPage
    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:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - tcmalloc_internal::MInCore::residence
    - ASSERT_NE
    - mmap
    - ::benchmark::DoNotOptimize
    - 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
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - 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:
    - MInCoreTest::chunkSize
    - Eq
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::addPage
    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:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - tcmalloc_internal::MInCore::residence
    - ASSERT_NE
    - mmap
    - ::benchmark::DoNotOptimize
    - 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: 0
    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:
    - reinterpret_cast<uintptr_t>
    - Eq
    - end
    - GetPageSize
    - EXPECT_THAT
    - find
    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: 0
    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
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - 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:
    - MInCoreTest::chunkSize
    - Eq
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::addPage
    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:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - tcmalloc_internal::MInCore::residence
    - ASSERT_NE
    - mmap
    - ::benchmark::DoNotOptimize
    - 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
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - 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:
    - MInCoreTest::chunkSize
    - Eq
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::addPage
    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:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - tcmalloc_internal::MInCore::residence
    - ASSERT_NE
    - mmap
    - ::benchmark::DoNotOptimize
    - 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: 0
    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:
    - reinterpret_cast<uintptr_t>
    - Eq
    - end
    - GetPageSize
    - EXPECT_THAT
    - find
    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: 0
    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
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - 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:
    - MInCoreTest::chunkSize
    - Eq
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::addPage
    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:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - tcmalloc_internal::MInCore::residence
    - ASSERT_NE
    - mmap
    - ::benchmark::DoNotOptimize
    - 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
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - 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:
    - MInCoreTest::chunkSize
    - Eq
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::addPage
    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:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - tcmalloc_internal::MInCore::residence
    - ASSERT_NE
    - mmap
    - ::benchmark::DoNotOptimize
    - 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: 0
    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:
    - reinterpret_cast<uintptr_t>
    - Eq
    - end
    - GetPageSize
    - EXPECT_THAT
    - find
    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: 0
    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
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - 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:
    - MInCoreTest::chunkSize
    - Eq
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::addPage
    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:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - tcmalloc_internal::MInCore::residence
    - ASSERT_NE
    - mmap
    - ::benchmark::DoNotOptimize
    - 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
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - 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:
    - MInCoreTest::chunkSize
    - Eq
    - MInCoreTest::residence
    - GetPageSize
    - EXPECT_THAT
    - MInCoreTest::addPage
    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:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - GetPageSize
    - reinterpret_cast<char*>
    - tcmalloc_internal::MInCore::residence
    - ASSERT_NE
    - mmap
    - ::benchmark::DoNotOptimize
    - munmap
    linkageType: ''
    returnType: void
    signature: void TEST(MInCoreTest, UnmappedMemory)
  - 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: 8
    functionsReached:
    - TC_CHECK_LE
    - absl::MakeSpan
    - tcmalloc::tcmalloc_internal::Static::sizemap
    - printf
    - 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:
    - absl::Barrier*::Block
    - tcmalloc::CurrentThreadCacheSize
    - ::operator new
    - tcmalloc::sized_delete
    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:
    - join
    - ASSERT_LT
    - std::thread
    - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    - std::vector::reserve
    - std::vector::size
    - absl::Barrier::Block
    - std::vector::push_back
    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:
    - absl::Barrier*::Block
    - tcmalloc::CurrentThreadCacheSize
    - ::operator new
    - tcmalloc::sized_delete
    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:
    - join
    - ASSERT_LT
    - std::thread
    - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    - std::vector::reserve
    - std::vector::size
    - absl::Barrier::Block
    - std::vector::push_back
    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:
    - absl::Barrier*::Block
    - tcmalloc::CurrentThreadCacheSize
    - ::operator new
    - tcmalloc::sized_delete
    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:
    - join
    - ASSERT_LT
    - std::thread
    - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    - std::vector::reserve
    - std::vector::size
    - absl::Barrier::Block
    - std::vector::push_back
    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:
    - absl::Barrier*::Block
    - tcmalloc::CurrentThreadCacheSize
    - ::operator new
    - tcmalloc::sized_delete
    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:
    - join
    - ASSERT_LT
    - std::thread
    - tcmalloc::MallocExtension::SetMaxTotalThreadCacheBytes
    - std::vector::reserve
    - std::vector::size
    - absl::Barrier::Block
    - std::vector::push_back
    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: 8
    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::MallocExtension::GetBackgroundProcessSleepInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    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:
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_TRUE
    - std::thread::join
    - ThreadManager::Stop
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - ThreadManager::Start
    - AllocatorHarness::Run
    - absl::SleepFor
    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:
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    - absl::Milliseconds
    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::MallocExtension::GetBackgroundProcessSleepInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    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:
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_TRUE
    - std::thread::join
    - ThreadManager::Stop
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - ThreadManager::Start
    - AllocatorHarness::Run
    - absl::SleepFor
    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:
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    - absl::Milliseconds
    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::MallocExtension::GetBackgroundProcessSleepInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    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:
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_TRUE
    - std::thread::join
    - ThreadManager::Stop
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - ThreadManager::Start
    - AllocatorHarness::Run
    - absl::SleepFor
    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:
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    - absl::Milliseconds
    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::MallocExtension::GetBackgroundProcessSleepInterval
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - EXPECT_TRUE
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    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:
    - absl::Milliseconds
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_TRUE
    - std::thread::join
    - ThreadManager::Stop
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - ThreadManager::Start
    - AllocatorHarness::Run
    - absl::SleepFor
    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:
    - tcmalloc::MallocExtension::ProcessBackgroundActions
    - absl::Milliseconds
    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: 8
    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:
    - ::operator delete
    - FAIL
    - SCOPED_TRACE
    - ::operator new
    - static_cast<size_t>
    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:
    - ASSERT_TRUE
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - ::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:
    - ::operator delete
    - FAIL
    - SCOPED_TRACE
    - ::operator new
    - static_cast<size_t>
    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:
    - ASSERT_TRUE
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - ::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:
    - ::operator delete
    - FAIL
    - SCOPED_TRACE
    - ::operator new
    - static_cast<size_t>
    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:
    - ASSERT_TRUE
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - ::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:
    - ::operator delete
    - FAIL
    - SCOPED_TRACE
    - ::operator new
    - static_cast<size_t>
    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:
    - ASSERT_TRUE
    - tcmalloc_internal::ABSL_ATTRIBUTE_ALWAYS_INLINE::SLL_Push
    - ::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:
    - ABSL_ATTRIBUTE_SECTION_STOP
    - TC_LOG
    - ABSL_INIT_ATTRIBUTE_SECTION_VARS
    - ABSL_ATTRIBUTE_SECTION_START
    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:
    - reserve
    - TC_CHECK
    - TC_CHECK_GE
    - MallocHook::AddNewHook
    - MallocHook::AddDeleteHook
    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:
    - MallocHook::RemoveNewHook
    - TC_CHECK
    - TC_CHECK_EQ
    - 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:
    - size
    - clear
    - IsMMap
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    - std::vector::reserve
    - std::vector::push_back
    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
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - size
    - TC_CHECK
    - CheckSectionVars
    - ADDR_IN_ATTRIBUTE_SECTION
    - push_back
    - ABSL_ARRAYSIZE
    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
    - ABSL_UNREACHABLE
    - requested_size::has_value
    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:
    - ABSL_ATTRIBUTE_SECTION_STOP
    - TC_LOG
    - ABSL_INIT_ATTRIBUTE_SECTION_VARS
    - ABSL_ATTRIBUTE_SECTION_START
    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:
    - reserve
    - TC_CHECK
    - TC_CHECK_GE
    - MallocHook::AddNewHook
    - MallocHook::AddDeleteHook
    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:
    - MallocHook::RemoveNewHook
    - TC_CHECK
    - TC_CHECK_EQ
    - 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:
    - size
    - clear
    - IsMMap
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    - std::vector::reserve
    - std::vector::push_back
    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
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - size
    - TC_CHECK
    - CheckSectionVars
    - ADDR_IN_ATTRIBUTE_SECTION
    - push_back
    - ABSL_ARRAYSIZE
    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
    - ABSL_UNREACHABLE
    - requested_size::has_value
    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:
    - ABSL_ATTRIBUTE_SECTION_STOP
    - TC_LOG
    - ABSL_INIT_ATTRIBUTE_SECTION_VARS
    - ABSL_ATTRIBUTE_SECTION_START
    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:
    - reserve
    - TC_CHECK
    - TC_CHECK_GE
    - MallocHook::AddNewHook
    - MallocHook::AddDeleteHook
    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:
    - MallocHook::RemoveNewHook
    - TC_CHECK
    - TC_CHECK_EQ
    - 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:
    - size
    - clear
    - IsMMap
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    - std::vector::reserve
    - std::vector::push_back
    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
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - size
    - TC_CHECK
    - CheckSectionVars
    - ADDR_IN_ATTRIBUTE_SECTION
    - push_back
    - ABSL_ARRAYSIZE
    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
    - ABSL_UNREACHABLE
    - requested_size::has_value
    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:
    - ABSL_ATTRIBUTE_SECTION_STOP
    - TC_LOG
    - ABSL_INIT_ATTRIBUTE_SECTION_VARS
    - ABSL_ATTRIBUTE_SECTION_START
    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:
    - reserve
    - TC_CHECK
    - TC_CHECK_GE
    - MallocHook::AddNewHook
    - MallocHook::AddDeleteHook
    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:
    - MallocHook::RemoveNewHook
    - TC_CHECK
    - TC_CHECK_EQ
    - 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:
    - size
    - clear
    - IsMMap
    - tcmalloc::tcmalloc_testing::MallocHookRecorder::Stop
    - std::vector::reserve
    - std::vector::push_back
    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
    - tcmalloc::tcmalloc_internal::GetStackTrace
    - size
    - TC_CHECK
    - CheckSectionVars
    - ADDR_IN_ATTRIBUTE_SECTION
    - push_back
    - ABSL_ARRAYSIZE
    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
    - ABSL_UNREACHABLE
    - requested_size::has_value
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& stream,\n                         const
      MallocHookRecorder::CallEntry& lhs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:40,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:45,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:49,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:50,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:56,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:57,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:61,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:62,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:66,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 69
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/frag_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GT
    - ::operator delete
    - ::operator new
    - std::vector::size
    - ASSERT_GE
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(Fragmentation, Slack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:40,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:45,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:49,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:50,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:56,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:57,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:61,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:62,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:66,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 69
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/frag_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GT
    - ::operator delete
    - ::operator new
    - std::vector::size
    - ASSERT_GE
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(Fragmentation, Slack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:40,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:45,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:49,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:50,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:56,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:57,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:61,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:62,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:66,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 69
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/frag_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GT
    - ::operator delete
    - ::operator new
    - std::vector::size
    - ASSERT_GE
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(Fragmentation, Slack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:40,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:45,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:49,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:50,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:56,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:57,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:61,1
    - Dst: EXPECT_LT
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:62,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:66,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/frag_test.cc:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 69
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/frag_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - EXPECT_GT
    - ::operator delete
    - ::operator new
    - std::vector::size
    - ASSERT_GE
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - TC_CHECK
    - absl::string_view::remove_suffix
    - absl::string_view::find_first_not_of
    - absl::string_view::find
    - absl::string_view::remove_prefix
    - absl::SNPrintF
    - absl::string_view::size
    - absl::SimpleAtoi
    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:
    - TC_CHECK
    - std::string*::resize
    - std::string*::capacity
    - std::string*::size
    - std::string*::data
    - EXPECT_LE
    - TCMalloc_Internal_GetStats
    - std::min
    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:
    - reserve
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::string::reserve
    - tcmalloc::GetMallocStats
    - AllocatorHarness::Run
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - ThreadManager::Stop
    - tcmalloc_internal::NumCPUs
    - tcmalloc::ParseCpuCacheSize
    - ASSERT_NE
    - ThreadManager::Start
    - GTEST_SKIP
    - absl::SleepFor
    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:
    - TC_CHECK
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - load
    - AllocatorHarness::Run
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - ThreadManager::Stop
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - ThreadManager::Start
    - GTEST_SKIP
    - absl::SleepFor
    - tcmalloc_internal::NumCPUs
    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:
    - TC_CHECK
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - std::atomic<bool>*::load
    - 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:
    - TC_CHECK
    - absl::string_view::remove_suffix
    - absl::string_view::find_first_not_of
    - absl::string_view::find
    - absl::string_view::remove_prefix
    - absl::SNPrintF
    - absl::string_view::size
    - absl::SimpleAtoi
    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:
    - TC_CHECK
    - std::string*::resize
    - std::string*::capacity
    - std::string*::size
    - std::string*::data
    - EXPECT_LE
    - TCMalloc_Internal_GetStats
    - std::min
    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:
    - reserve
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::string::reserve
    - tcmalloc::GetMallocStats
    - AllocatorHarness::Run
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - ThreadManager::Stop
    - tcmalloc_internal::NumCPUs
    - tcmalloc::ParseCpuCacheSize
    - ASSERT_NE
    - ThreadManager::Start
    - GTEST_SKIP
    - absl::SleepFor
    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:
    - TC_CHECK
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - load
    - AllocatorHarness::Run
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - ThreadManager::Stop
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - ThreadManager::Start
    - GTEST_SKIP
    - absl::SleepFor
    - tcmalloc_internal::NumCPUs
    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:
    - TC_CHECK
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - std::atomic<bool>*::load
    - 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:
    - TC_CHECK
    - absl::string_view::remove_suffix
    - absl::string_view::find_first_not_of
    - absl::string_view::find
    - absl::string_view::remove_prefix
    - absl::SNPrintF
    - absl::string_view::size
    - absl::SimpleAtoi
    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:
    - TC_CHECK
    - std::string*::resize
    - std::string*::capacity
    - std::string*::size
    - std::string*::data
    - EXPECT_LE
    - TCMalloc_Internal_GetStats
    - std::min
    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:
    - reserve
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::string::reserve
    - tcmalloc::GetMallocStats
    - AllocatorHarness::Run
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - ThreadManager::Stop
    - tcmalloc_internal::NumCPUs
    - tcmalloc::ParseCpuCacheSize
    - ASSERT_NE
    - ThreadManager::Start
    - GTEST_SKIP
    - absl::SleepFor
    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:
    - TC_CHECK
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - load
    - AllocatorHarness::Run
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - ThreadManager::Stop
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - ThreadManager::Start
    - GTEST_SKIP
    - absl::SleepFor
    - tcmalloc_internal::NumCPUs
    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:
    - TC_CHECK
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - std::atomic<bool>*::load
    - 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:
    - TC_CHECK
    - absl::string_view::remove_suffix
    - absl::string_view::find_first_not_of
    - absl::string_view::find
    - absl::string_view::remove_prefix
    - absl::SNPrintF
    - absl::string_view::size
    - absl::SimpleAtoi
    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:
    - TC_CHECK
    - std::string*::resize
    - std::string*::capacity
    - std::string*::size
    - std::string*::data
    - EXPECT_LE
    - TCMalloc_Internal_GetStats
    - std::min
    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:
    - reserve
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - std::string::reserve
    - tcmalloc::GetMallocStats
    - AllocatorHarness::Run
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - ThreadManager::Stop
    - tcmalloc_internal::NumCPUs
    - tcmalloc::ParseCpuCacheSize
    - ASSERT_NE
    - ThreadManager::Start
    - GTEST_SKIP
    - absl::SleepFor
    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:
    - TC_CHECK
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - load
    - AllocatorHarness::Run
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - ThreadManager::Stop
    - std::thread::join
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - ThreadManager::Start
    - GTEST_SKIP
    - absl::SleepFor
    - tcmalloc_internal::NumCPUs
    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:
    - TC_CHECK
    - tcmalloc::MallocExtension::ReleaseCpuMemory
    - tcmalloc_internal::subtle::percpu::IsFast
    - tcmalloc_internal::subtle::percpu::IsFastNoInit
    - std::atomic<bool>*::load
    - 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: 8
    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:
    - free
    - malloc
    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:
    - std::thread::join
    - tcmalloc::MallocExtension::MarkThreadIdle
    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:
    - std::thread::join
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::TestAllocation
    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
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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::GetTotalThreadCacheSize
    - tcmalloc::TestAllocation
    - tcmalloc::MallocExtension::MarkThreadIdle
    - std::thread::join
    - ASSERT_GE
    - ASSERT_LE
    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:
    - free
    - malloc
    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:
    - std::thread::join
    - tcmalloc::MallocExtension::MarkThreadIdle
    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:
    - std::thread::join
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::TestAllocation
    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
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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::GetTotalThreadCacheSize
    - tcmalloc::TestAllocation
    - tcmalloc::MallocExtension::MarkThreadIdle
    - std::thread::join
    - ASSERT_GE
    - ASSERT_LE
    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:
    - free
    - malloc
    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:
    - std::thread::join
    - tcmalloc::MallocExtension::MarkThreadIdle
    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:
    - std::thread::join
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::TestAllocation
    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
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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::GetTotalThreadCacheSize
    - tcmalloc::TestAllocation
    - tcmalloc::MallocExtension::MarkThreadIdle
    - std::thread::join
    - ASSERT_GE
    - ASSERT_LE
    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:
    - free
    - malloc
    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:
    - std::thread::join
    - tcmalloc::MallocExtension::MarkThreadIdle
    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:
    - std::thread::join
    - tcmalloc::MallocExtension::MarkThreadIdle
    - tcmalloc::TestAllocation
    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
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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::GetTotalThreadCacheSize
    - tcmalloc::TestAllocation
    - tcmalloc::MallocExtension::MarkThreadIdle
    - std::thread::join
    - ASSERT_GE
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(MarkIdleTest, TestIdleUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:70,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:70,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:72,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:79,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:80,1
    - Dst: CHECK_GE
      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:86,1
    - Dst: CHECK_GT
      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: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:90,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - CHECK_LT
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - AllocatorHarness::Run
    - CHECK_GE
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapProfilingTest, GetHeapProfileWhileAllocAndDealloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:108,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:110,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:116,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:116,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - auto::ok
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_FALSE
    - EXPECT_LE
    - absl::ToUnixNanos
    - absl::Now
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, Timestamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:134,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:137,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:145,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:157,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:168,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 174
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateDifferentSizes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:183,1
    - Dst: ::mlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:188,1
    - Dst: static_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:191,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:196,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:202,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:215,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:216,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:227,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:228,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:234,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:234,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:237,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:238,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:241,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:242,1
    - Dst: ::munlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:246,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 251
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ::munlock
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_FALSE
    - ::operator delete
    - sample_type
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - ::mlock
    - std::optional::has_value
    - EXPECT_LE
    - sample_type_size
    - ::operator new
    - string_table
    - auto::ok
    - absl::FPrintF
    - EXPECT_GE
    - value
    - static_cast<volatile char*>
    - sample
    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:272,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:273,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:273,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:275,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:277,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:277,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 282
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::insert
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::flat_hash_set::reserve
    - ::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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    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: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    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: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    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:298,1
    - Dst: LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:299,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tcmalloc::TestAllocator::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - LowLevelAlloc::AllocWithArena
    - arena
    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:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    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:315,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:316,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:317,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddSampledDeleteHook
    - AllocHandles::AllocHandles
    - ABSL_CHECK
    - MallocHook::AddSampledNewHook
    linkageType: ''
    returnType: void
    signature: void HeapAllocHandleTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:323,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:323,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: ~HeapAllocHandleTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ABSL_CHECK
    - MallocHook::RemoveSampledNewHook
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void ~HeapAllocHandleTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    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:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    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:362,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:365,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:374,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:375,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:378,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:378,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:383,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:383,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 385
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ABSL_CHECK
    - sampled_allocation_recorder
    - ThreadManager::Stop
    - ThreadManager::Start
    - AllocatorHarness::Run
    - contains
    - insert
    - absl::SleepFor
    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:70,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:70,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:72,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:79,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:80,1
    - Dst: CHECK_GE
      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:86,1
    - Dst: CHECK_GT
      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: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:90,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - CHECK_LT
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - AllocatorHarness::Run
    - CHECK_GE
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapProfilingTest, GetHeapProfileWhileAllocAndDealloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:108,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:110,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:116,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:116,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - auto::ok
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_FALSE
    - EXPECT_LE
    - absl::ToUnixNanos
    - absl::Now
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, Timestamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:134,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:137,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:145,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:157,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:168,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 174
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateDifferentSizes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:183,1
    - Dst: ::mlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:188,1
    - Dst: static_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:191,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:196,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:202,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:215,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:216,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:227,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:228,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:234,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:234,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:237,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:238,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:241,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:242,1
    - Dst: ::munlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:246,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 251
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ::munlock
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_FALSE
    - ::operator delete
    - sample_type
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - ::mlock
    - std::optional::has_value
    - EXPECT_LE
    - sample_type_size
    - ::operator new
    - string_table
    - auto::ok
    - absl::FPrintF
    - EXPECT_GE
    - value
    - static_cast<volatile char*>
    - sample
    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:272,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:273,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:273,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:275,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:277,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:277,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 282
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::insert
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::flat_hash_set::reserve
    - ::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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    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: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    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: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    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:298,1
    - Dst: LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:299,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tcmalloc::TestAllocator::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - LowLevelAlloc::AllocWithArena
    - arena
    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:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    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:315,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:316,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:317,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddSampledDeleteHook
    - AllocHandles::AllocHandles
    - ABSL_CHECK
    - MallocHook::AddSampledNewHook
    linkageType: ''
    returnType: void
    signature: void HeapAllocHandleTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:323,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:323,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: ~HeapAllocHandleTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ABSL_CHECK
    - MallocHook::RemoveSampledNewHook
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void ~HeapAllocHandleTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    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:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    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:362,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:365,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:374,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:375,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:378,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:378,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:383,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:383,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 385
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ABSL_CHECK
    - sampled_allocation_recorder
    - ThreadManager::Stop
    - ThreadManager::Start
    - AllocatorHarness::Run
    - contains
    - insert
    - absl::SleepFor
    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:70,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:70,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:72,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:79,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:80,1
    - Dst: CHECK_GE
      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:86,1
    - Dst: CHECK_GT
      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: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:90,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - CHECK_LT
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - AllocatorHarness::Run
    - CHECK_GE
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapProfilingTest, GetHeapProfileWhileAllocAndDealloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:108,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:110,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:116,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:116,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - auto::ok
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_FALSE
    - EXPECT_LE
    - absl::ToUnixNanos
    - absl::Now
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, Timestamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:134,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:137,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:145,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:157,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:168,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 174
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateDifferentSizes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:183,1
    - Dst: ::mlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:188,1
    - Dst: static_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:191,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:196,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:202,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:215,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:216,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:227,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:228,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:234,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:234,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:237,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:238,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:241,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:242,1
    - Dst: ::munlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:246,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 251
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ::munlock
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_FALSE
    - ::operator delete
    - sample_type
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - ::mlock
    - std::optional::has_value
    - EXPECT_LE
    - sample_type_size
    - ::operator new
    - string_table
    - auto::ok
    - absl::FPrintF
    - EXPECT_GE
    - value
    - static_cast<volatile char*>
    - sample
    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:272,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:273,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:273,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:275,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:277,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:277,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 282
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::insert
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::flat_hash_set::reserve
    - ::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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    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: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    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: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    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:298,1
    - Dst: LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:299,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tcmalloc::TestAllocator::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - LowLevelAlloc::AllocWithArena
    - arena
    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:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    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:315,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:316,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:317,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddSampledDeleteHook
    - AllocHandles::AllocHandles
    - ABSL_CHECK
    - MallocHook::AddSampledNewHook
    linkageType: ''
    returnType: void
    signature: void HeapAllocHandleTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:323,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:323,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: ~HeapAllocHandleTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ABSL_CHECK
    - MallocHook::RemoveSampledNewHook
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void ~HeapAllocHandleTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    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:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    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:362,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:365,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:374,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:375,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:378,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:378,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:383,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:383,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 385
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ABSL_CHECK
    - sampled_allocation_recorder
    - ThreadManager::Stop
    - ThreadManager::Start
    - AllocatorHarness::Run
    - contains
    - insert
    - absl::SleepFor
    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:70,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:70,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:72,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:79,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:80,1
    - Dst: CHECK_GE
      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:86,1
    - Dst: CHECK_GT
      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: CHECK_LT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:90,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:90,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:95,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - CHECK_LT
    - ThreadManager::Stop
    - absl::Now
    - ThreadManager::Start
    - AllocatorHarness::Run
    - CHECK_GE
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_P(HeapProfilingTest, GetHeapProfileWhileAllocAndDealloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:108,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:110,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:111,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:116,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:116,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:119,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: time_nanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: absl::ToUnixNanos
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - auto::ok
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_FALSE
    - EXPECT_LE
    - absl::ToUnixNanos
    - absl::Now
    - time_nanos
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, Timestamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:134,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:137,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:145,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:150,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:157,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:167,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:168,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 174
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(HeapProfilingTest, AllocateDifferentSizes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:183,1
    - Dst: ::mlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:188,1
    - Dst: static_cast<volatile char*>
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:191,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:196,1
    - Dst: tcmalloc::tcmalloc_internal::MakeProfileProto
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:202,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: auto::ok
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:209,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:215,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:216,1
    - Dst: string_table
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:219,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:223,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:224,1
    - Dst: sample_type_size
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:227,1
    - Dst: sample_type
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:228,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:234,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:234,1
    - Dst: sample
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:237,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:238,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:241,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:242,1
    - Dst: ::munlock
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:246,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 251
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ::munlock
    - tcmalloc::MallocExtension::SnapshotCurrent
    - EXPECT_FALSE
    - ::operator delete
    - sample_type
    - tcmalloc::tcmalloc_internal::MakeProfileProto
    - ASSERT_TRUE
    - ::mlock
    - std::optional::has_value
    - EXPECT_LE
    - sample_type_size
    - ::operator new
    - string_table
    - auto::ok
    - absl::FPrintF
    - EXPECT_GE
    - value
    - static_cast<volatile char*>
    - sample
    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:272,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:273,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:273,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:275,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:277,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:277,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 282
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::insert
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::flat_hash_set::reserve
    - ::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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    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: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    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: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    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:298,1
    - Dst: LowLevelAlloc::AllocWithArena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:299,1
    - Dst: arena
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tcmalloc::TestAllocator::allocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - LowLevelAlloc::AllocWithArena
    - arena
    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:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    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:315,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:316,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:317,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: tcmalloc::HeapAllocHandleTest::HeapAllocHandleTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - MallocHook::AddSampledDeleteHook
    - AllocHandles::AllocHandles
    - ABSL_CHECK
    - MallocHook::AddSampledNewHook
    linkageType: ''
    returnType: void
    signature: void HeapAllocHandleTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:323,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:323,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: ~HeapAllocHandleTest() override
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - ABSL_CHECK
    - MallocHook::RemoveSampledNewHook
    - MallocHook::RemoveSampledDeleteHook
    linkageType: ''
    returnType: void
    signature: void ~HeapAllocHandleTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    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:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    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:362,1
    - Dst: insert
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:365,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:370,1
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:374,1
    - Dst: sampled_allocation_recorder
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:375,1
    - Dst: ABSL_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:378,1
    - Dst: contains
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:378,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:383,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:383,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 385
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/heap_profiling_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ABSL_CHECK
    - sampled_allocation_recorder
    - ThreadManager::Stop
    - ThreadManager::Start
    - AllocatorHarness::Run
    - contains
    - insert
    - absl::SleepFor
    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: 8
    functionsReached:
    - absl::StrCat
    - malloc
    - std::optional::has_value
    - free
    - char::char
    - std::unique_ptr::get
    - absl::StreamFormat
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - tcmalloc::ExpectValid
    - free
    - tcmalloc::NextSize
    - realloc
    - tcmalloc::Fill
    - static_cast<unsigned char*>
    - std::min
    - malloc
    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:
    - aligned_alloc
    - tcmalloc::ExpectValid
    - free
    - realloc
    - tcmalloc::Fill
    - static_cast<unsigned char*>
    - std::min
    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:
    - tcmalloc::ExpectValid
    - free
    - tcmalloc::NextSize
    - realloc
    - tcmalloc::Fill
    - static_cast<unsigned char*>
    - std::min
    - malloc
    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:
    - aligned_alloc
    - tcmalloc::ExpectValid
    - free
    - realloc
    - tcmalloc::Fill
    - static_cast<unsigned char*>
    - std::min
    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:
    - tcmalloc::ExpectValid
    - free
    - tcmalloc::NextSize
    - realloc
    - tcmalloc::Fill
    - static_cast<unsigned char*>
    - std::min
    - malloc
    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:
    - aligned_alloc
    - tcmalloc::ExpectValid
    - free
    - realloc
    - tcmalloc::Fill
    - static_cast<unsigned char*>
    - std::min
    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:
    - tcmalloc::ExpectValid
    - free
    - tcmalloc::NextSize
    - realloc
    - tcmalloc::Fill
    - static_cast<unsigned char*>
    - std::min
    - malloc
    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:
    - aligned_alloc
    - tcmalloc::ExpectValid
    - free
    - realloc
    - tcmalloc::Fill
    - static_cast<unsigned char*>
    - std::min
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - malloc
    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:
    - free
    - static_cast<unsigned char*>
    - malloc
    - ASSERT_EQ
    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:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator new
    - tcmalloc::MallocExtension::GetRegionFactory
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    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:
    - absl::flat_hash_set::insert
    - free
    - ASSERT_NE
    - ::testing::Not
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - malloc
    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_internal::max
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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::TryAllocExpectFail
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - malloc
    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:
    - free
    - static_cast<unsigned char*>
    - malloc
    - ASSERT_EQ
    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:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator new
    - tcmalloc::MallocExtension::GetRegionFactory
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    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:
    - absl::flat_hash_set::insert
    - free
    - ASSERT_NE
    - ::testing::Not
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - malloc
    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_internal::max
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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::TryAllocExpectFail
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - malloc
    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:
    - free
    - static_cast<unsigned char*>
    - malloc
    - ASSERT_EQ
    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:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator new
    - tcmalloc::MallocExtension::GetRegionFactory
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    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:
    - absl::flat_hash_set::insert
    - free
    - ASSERT_NE
    - ::testing::Not
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - malloc
    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_internal::max
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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::TryAllocExpectFail
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - malloc
    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:
    - free
    - static_cast<unsigned char*>
    - malloc
    - ASSERT_EQ
    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:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator new
    - tcmalloc::MallocExtension::GetRegionFactory
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    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:
    - absl::flat_hash_set::insert
    - free
    - ASSERT_NE
    - ::testing::Not
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - malloc
    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_internal::max
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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::TryAllocExpectFail
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - malloc
    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:
    - free
    - static_cast<unsigned char*>
    - malloc
    - ASSERT_EQ
    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:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator new
    - tcmalloc::MallocExtension::GetRegionFactory
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    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:
    - absl::flat_hash_set::insert
    - free
    - ASSERT_NE
    - ::testing::Not
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - malloc
    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_internal::max
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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::TryAllocExpectFail
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - malloc
    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:
    - free
    - static_cast<unsigned char*>
    - malloc
    - ASSERT_EQ
    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:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator new
    - tcmalloc::MallocExtension::GetRegionFactory
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    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:
    - absl::flat_hash_set::insert
    - free
    - ASSERT_NE
    - ::testing::Not
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - malloc
    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_internal::max
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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::TryAllocExpectFail
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - malloc
    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:
    - free
    - static_cast<unsigned char*>
    - malloc
    - ASSERT_EQ
    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:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator new
    - tcmalloc::MallocExtension::GetRegionFactory
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    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:
    - absl::flat_hash_set::insert
    - free
    - ASSERT_NE
    - ::testing::Not
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - malloc
    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_internal::max
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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::TryAllocExpectFail
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - malloc
    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:
    - free
    - static_cast<unsigned char*>
    - malloc
    - ASSERT_EQ
    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:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator new
    - tcmalloc::MallocExtension::GetRegionFactory
    - NoErrnoRegionFactory::NoErrnoRegionFactory
    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:
    - absl::flat_hash_set::insert
    - free
    - ASSERT_NE
    - ::testing::Not
    - EXPECT_THAT
    - tcmalloc_internal::StackTraceFilter::Contains
    - malloc
    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_internal::max
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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::TryAllocExpectFail
    - tcmalloc::tcmalloc_internal::TryAllocMightFail
    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:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_GE
    - memset
    - GetPageSize
    - TC_CHECK_EQ
    - syscall
    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:
    - TC_CHECK
    - CHECK_LE
    - std::make_tuple
    - numa_topology
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    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:
    - LOG
    - static_cast<const char*>
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    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:
    - TC_CHECK_NE
    - absl::NoDestructor::get
    - tcmalloc::MallocExtension::GetRegionFactory
    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:
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - FakeNumaAwareRegionFactory*::NotFoundCount
    - EXPECT_EQ
    - ASSERT_EQ
    - AllowedCpus
    - std::vector::size
    - ::operator delete
    - ASSERT_NE
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::BackingNode
    - NodeToPartition
    - numa_topology
    - ::operator new
    - GTEST_SKIP
    - syscall
    - FakeNumaAwareRegionFactory*::VerifyHint
    - ScopedAffinityMask::Tampered
    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::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    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:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_GE
    - memset
    - GetPageSize
    - TC_CHECK_EQ
    - syscall
    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:
    - TC_CHECK
    - CHECK_LE
    - std::make_tuple
    - numa_topology
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    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:
    - LOG
    - static_cast<const char*>
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    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:
    - TC_CHECK_NE
    - absl::NoDestructor::get
    - tcmalloc::MallocExtension::GetRegionFactory
    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:
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - FakeNumaAwareRegionFactory*::NotFoundCount
    - EXPECT_EQ
    - ASSERT_EQ
    - AllowedCpus
    - std::vector::size
    - ::operator delete
    - ASSERT_NE
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::BackingNode
    - NodeToPartition
    - numa_topology
    - ::operator new
    - GTEST_SKIP
    - syscall
    - FakeNumaAwareRegionFactory*::VerifyHint
    - ScopedAffinityMask::Tampered
    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::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    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:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_GE
    - memset
    - GetPageSize
    - TC_CHECK_EQ
    - syscall
    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:
    - TC_CHECK
    - CHECK_LE
    - std::make_tuple
    - numa_topology
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    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:
    - LOG
    - static_cast<const char*>
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    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:
    - TC_CHECK_NE
    - absl::NoDestructor::get
    - tcmalloc::MallocExtension::GetRegionFactory
    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:
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - FakeNumaAwareRegionFactory*::NotFoundCount
    - EXPECT_EQ
    - ASSERT_EQ
    - AllowedCpus
    - std::vector::size
    - ::operator delete
    - ASSERT_NE
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::BackingNode
    - NodeToPartition
    - numa_topology
    - ::operator new
    - GTEST_SKIP
    - syscall
    - FakeNumaAwareRegionFactory*::VerifyHint
    - ScopedAffinityMask::Tampered
    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::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    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:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_GE
    - memset
    - GetPageSize
    - TC_CHECK_EQ
    - syscall
    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:
    - TC_CHECK
    - CHECK_LE
    - std::make_tuple
    - numa_topology
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::Create
    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:
    - LOG
    - static_cast<const char*>
    - EXPECT_EQ
    - tcmalloc::tcmalloc_internal::FakeNumaAwareRegionFactory::AddrsAndHintsDebug
    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:
    - TC_CHECK_NE
    - absl::NoDestructor::get
    - tcmalloc::MallocExtension::GetRegionFactory
    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:
    - tcmalloc::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - FakeNumaAwareRegionFactory*::NotFoundCount
    - EXPECT_EQ
    - ASSERT_EQ
    - AllowedCpus
    - std::vector::size
    - ::operator delete
    - ASSERT_NE
    - absl::Uniform
    - tcmalloc::tcmalloc_internal::BackingNode
    - NodeToPartition
    - numa_topology
    - ::operator new
    - GTEST_SKIP
    - syscall
    - FakeNumaAwareRegionFactory*::VerifyHint
    - ScopedAffinityMask::Tampered
    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::tcmalloc_internal::GetFakeNumaAwareRegionFactory
    - tcmalloc::MallocExtension::SetRegionFactory
    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:
    - assert
    - std::vector::push_back
    - Foo::Foo
    - std::vector::reserve
    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: 282
    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:
    - assert
    - std::vector::push_back
    - Foo::Foo
    - std::vector::reserve
    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: 282
    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:
    - size
    - std::move
    - pop_back
    - swap
    - absl::Uniform<size_t>
    - back
    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:
    - size
    - std::move
    - pop_back
    - swap
    - absl::Uniform<size_t>
    - back
    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:
    - owned::empty
    - owned::size
    - RemoveRandomObject
    - std::move
    - owned::reserve
    - tcmalloc::AllocatorHarness::FillContents
    - inbound::push_back
    - sized_delete
    - owned::push_back
    - absl::Uniform
    - tcmalloc::AllocatorHarness::CheckContents
    - ::operator new
    - std::vector::size
    - std::vector::clear
    - absl::LogUniform<size_t>
    - std::vector::swap
    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<uint32_t>
    - static_cast<char*>
    - memset
    - reinterpret_cast<intptr_t>
    - std::min
    - absl::Uniform<char>
    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:
    - absl::Uniform<uint32_t>
    - ASSERT_EQ
    - reinterpret_cast<intptr_t>
    - static_cast<const char*>
    - std::min
    - std::max
    - absl::Uniform<char>
    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:
    - size
    - std::move
    - pop_back
    - swap
    - absl::Uniform<size_t>
    - back
    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:
    - size
    - std::move
    - pop_back
    - swap
    - absl::Uniform<size_t>
    - back
    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:
    - owned::empty
    - owned::size
    - RemoveRandomObject
    - std::move
    - owned::reserve
    - tcmalloc::AllocatorHarness::FillContents
    - inbound::push_back
    - sized_delete
    - owned::push_back
    - absl::Uniform
    - tcmalloc::AllocatorHarness::CheckContents
    - ::operator new
    - std::vector::size
    - std::vector::clear
    - absl::LogUniform<size_t>
    - std::vector::swap
    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<uint32_t>
    - static_cast<char*>
    - memset
    - reinterpret_cast<intptr_t>
    - std::min
    - absl::Uniform<char>
    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:
    - absl::Uniform<uint32_t>
    - ASSERT_EQ
    - reinterpret_cast<intptr_t>
    - static_cast<const char*>
    - std::min
    - std::max
    - absl::Uniform<char>
    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:61,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 69
    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:73,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 81
    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:85,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 93
    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:98,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:100,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:101,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:102,1
    - Dst: tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:106,1
    - Dst: absl::FPrintF
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:108,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:109,1
    - Dst: absl::ToInt64Seconds
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: TestSkipSubreleaseIntervals
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc
    functionUses: 0
    functionsReached:
    - absl::ToInt64Seconds
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    - absl::FPrintF
    linkageType: ''
    returnType: bool
    signature: bool TestSkipSubreleaseIntervals()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:124,1
    - Dst: TestGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:125,1
    - Dst: TestBackgroundReleaseRate
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:126,1
    - Dst: TestSkipSubreleaseIntervals
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:127,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/default_parameters_test.cc
    functionUses: 8
    functionsReached:
    - TestProfileSamplingInterval
    - fprintf
    - TestGuardedSamplingInterval
    - TestBackgroundReleaseRate
    - TestSkipSubreleaseIntervals
    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: 8
    functionsReached:
    - MallocExtension_Internal_GetProperties
    - MallocExtension_Internal_GetNumericProperty
    - std::string
    - ::operator delete
    - abort
    - TCMalloc_Internal_ForceCpuCacheActivation
    - free
    - absl::string_view::size
    - ::operator new
    - absl::FPrintF
    - assert
    - absl::string_view::data
    - std::max
    - malloc
    - ABSL_ARRAYSIZE
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:42,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:50,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:54,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - EXPECT_TRUE
    - TCMallocInternalDelete
    - GTEST_SKIP
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerUnsizedDelete(uintptr_t ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.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/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerUnsizedDeleteRegression)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:69,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:72,1
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:76,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:79,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - new_size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::WildPointerRealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - TCMallocInternalFree
    - TCMallocInternalRealloc
    - GTEST_SKIP
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerRealloc(uintptr_t ptr, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerRealloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerRealloc
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerReallocRegression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:99,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:99,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:106,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:110,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - absl::bit_cast<void*>
    - EXPECT_TRUE
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerSizedDelete(uintptr_t ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:116,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerSizedDeleteRegression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:124,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:126,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:132,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:133,1
    - Dst: MallocExtension_Internal_GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:137,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:140,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:147,1
    - Dst: MallocExtension_Internal_GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - allocated
    - deallocated
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - EXPECT_EQ
    - MallocExtension_Internal_GetEstimatedAllocatedSize
    - TCMallocInternalNewNothrow
    - MallocExtension_Internal_GetAllocatedSize
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: void MismatchedSizedDelete(size_t allocated, size_t deallocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MismatchedSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, MismatchedSizedDeleteRegression)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:161,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:164,1
    - Dst: TCMallocInternalNewAlignedNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:165,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:168,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:175,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:179,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:180,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - size
    - allocated_alignment
    - deallocated_alignment
    argTypes:
    - size_t
    - std::optional<std::align_val_t>
    - std::optional<std::align_val_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::MismatchedAlignedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<std::align_val_t>::has_value
    - TCMallocInternalNewAlignedNothrow
    - TCMallocInternalDeleteSizedAligned
    - EXPECT_EQ
    - TCMallocInternalNewNothrow
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: "void MismatchedAlignedDelete(\n    size_t size, std::optional<std::align_val_t>
      allocated_alignment,\n    std::optional<std::align_val_t> deallocated_alignment)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:200,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:203,1
    - Dst: TCMallocInternalAlignedAlloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:204,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:206,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:213,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:217,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:218,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - size
    - allocated_alignment
    - deallocated_alignment
    argTypes:
    - size_t
    - std::optional<size_t>
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::MismatchedAlignedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<size_t>::has_value
    - TCMallocInternalFreeAlignedSized
    - EXPECT_EQ
    - TCMallocInternalMalloc
    - GTEST_SKIP
    - TCMallocInternalFreeSized
    - TCMallocInternalAlignedAlloc
    - setjmp
    linkageType: ''
    returnType: void
    signature: "void MismatchedAlignedFree(size_t size,\n                           std::optional<size_t>
      allocated_alignment,\n                           std::optional<size_t> deallocated_alignment)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:237,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:239,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:240,1
    - Dst: std::optional<hot_cold_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:246,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:247,1
    - Dst: TCMallocInternalNewAlignedHotColdNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:248,1
    - Dst: TCMallocInternalNewHotColdNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:251,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:254,1
    - Dst: TCMallocInternalNewAlignedNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:255,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:257,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:265,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:266,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:267,1
    - Dst: std::optional<std::align_val_t>::value_or
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:269,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:269,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:272,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:276,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:278,1
    - Dst: TCMallocInternalDeleteAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:280,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:284,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - size
    - hot_cold
    - alignment
    - misalignment
    - sized
    argTypes:
    - size_t
    - std::optional<hot_cold_t>
    - std::optional<std::align_val_t>
    - std::align_val_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 290
    functionName: tcmalloc::tcmalloc_internal::MisalignedPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<std::align_val_t>::has_value
    - TCMallocInternalDeleteAligned
    - std::optional<std::align_val_t>::value_or
    - TCMallocInternalDeleteSized
    - static_cast<char*>
    - TCMallocInternalDeleteSizedAligned
    - EXPECT_EQ
    - std::optional<hot_cold_t>::has_value
    - std::min
    - setjmp
    - absl::has_single_bit
    - TCMallocInternalNewAlignedNothrow
    - TCMallocInternalNewAlignedHotColdNothrow
    - static_cast<std::align_val_t>
    - GTEST_SKIP
    - TCMallocInternalNewNothrow
    - TCMallocInternalDelete
    - TCMallocInternalNewHotColdNothrow
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: "void MisalignedPointer(size_t size, std::optional<hot_cold_t> hot_cold,\n
      \                      std::optional<std::align_val_t> alignment,\n                       std::align_val_t
      misalignment, bool sized)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:42,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:50,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:54,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 1
    functionsReached:
    - absl::bit_cast<void*>
    - EXPECT_TRUE
    - TCMallocInternalDelete
    - GTEST_SKIP
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerUnsizedDelete(uintptr_t ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.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/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerUnsizedDeleteRegression)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:69,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:72,1
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:76,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:79,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - new_size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::WildPointerRealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 1
    functionsReached:
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - TCMallocInternalFree
    - TCMallocInternalRealloc
    - GTEST_SKIP
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerRealloc(uintptr_t ptr, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerRealloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerRealloc
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerReallocRegression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:99,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:99,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:106,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:110,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 1
    functionsReached:
    - GetMemoryTag
    - absl::bit_cast<void*>
    - EXPECT_TRUE
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerSizedDelete(uintptr_t ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:116,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerSizedDeleteRegression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:124,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:126,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:132,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:133,1
    - Dst: MallocExtension_Internal_GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:137,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:140,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:147,1
    - Dst: MallocExtension_Internal_GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - allocated
    - deallocated
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 1
    functionsReached:
    - GetMemoryTag
    - EXPECT_EQ
    - MallocExtension_Internal_GetEstimatedAllocatedSize
    - TCMallocInternalNewNothrow
    - MallocExtension_Internal_GetAllocatedSize
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: void MismatchedSizedDelete(size_t allocated, size_t deallocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MismatchedSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, MismatchedSizedDeleteRegression)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:161,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:164,1
    - Dst: TCMallocInternalNewAlignedNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:165,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:168,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:175,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:179,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:180,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - size
    - allocated_alignment
    - deallocated_alignment
    argTypes:
    - size_t
    - std::optional<std::align_val_t>
    - std::optional<std::align_val_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::MismatchedAlignedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<std::align_val_t>::has_value
    - TCMallocInternalNewAlignedNothrow
    - TCMallocInternalDeleteSizedAligned
    - EXPECT_EQ
    - TCMallocInternalNewNothrow
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: "void MismatchedAlignedDelete(\n    size_t size, std::optional<std::align_val_t>
      allocated_alignment,\n    std::optional<std::align_val_t> deallocated_alignment)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:200,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:203,1
    - Dst: TCMallocInternalAlignedAlloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:204,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:206,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:213,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:217,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:218,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - size
    - allocated_alignment
    - deallocated_alignment
    argTypes:
    - size_t
    - std::optional<size_t>
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::MismatchedAlignedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<size_t>::has_value
    - TCMallocInternalFreeAlignedSized
    - EXPECT_EQ
    - TCMallocInternalMalloc
    - GTEST_SKIP
    - TCMallocInternalFreeSized
    - TCMallocInternalAlignedAlloc
    - setjmp
    linkageType: ''
    returnType: void
    signature: "void MismatchedAlignedFree(size_t size,\n                           std::optional<size_t>
      allocated_alignment,\n                           std::optional<size_t> deallocated_alignment)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:237,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:239,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:240,1
    - Dst: std::optional<hot_cold_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:246,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:247,1
    - Dst: TCMallocInternalNewAlignedHotColdNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:248,1
    - Dst: TCMallocInternalNewHotColdNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:251,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:254,1
    - Dst: TCMallocInternalNewAlignedNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:255,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:257,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:265,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:266,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:267,1
    - Dst: std::optional<std::align_val_t>::value_or
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:269,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:269,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:272,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:276,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:278,1
    - Dst: TCMallocInternalDeleteAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:280,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:284,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - size
    - hot_cold
    - alignment
    - misalignment
    - sized
    argTypes:
    - size_t
    - std::optional<hot_cold_t>
    - std::optional<std::align_val_t>
    - std::align_val_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 290
    functionName: tcmalloc::tcmalloc_internal::MisalignedPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<std::align_val_t>::has_value
    - TCMallocInternalDeleteAligned
    - std::optional<std::align_val_t>::value_or
    - TCMallocInternalDeleteSized
    - static_cast<char*>
    - TCMallocInternalDeleteSizedAligned
    - EXPECT_EQ
    - std::optional<hot_cold_t>::has_value
    - std::min
    - setjmp
    - absl::has_single_bit
    - TCMallocInternalNewAlignedNothrow
    - TCMallocInternalNewAlignedHotColdNothrow
    - static_cast<std::align_val_t>
    - GTEST_SKIP
    - TCMallocInternalNewNothrow
    - TCMallocInternalDelete
    - TCMallocInternalNewHotColdNothrow
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: "void MisalignedPointer(size_t size, std::optional<hot_cold_t> hot_cold,\n
      \                      std::optional<std::align_val_t> alignment,\n                       std::align_val_t
      misalignment, bool sized)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:42,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:50,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:54,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::bit_cast<void*>
    - EXPECT_TRUE
    - TCMallocInternalDelete
    - GTEST_SKIP
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerUnsizedDelete(uintptr_t ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.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/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerUnsizedDeleteRegression)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:69,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:72,1
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:76,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:79,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - new_size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::WildPointerRealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 2
    functionsReached:
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - TCMallocInternalFree
    - TCMallocInternalRealloc
    - GTEST_SKIP
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerRealloc(uintptr_t ptr, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerRealloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerRealloc
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerReallocRegression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:99,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:99,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:106,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:110,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 2
    functionsReached:
    - GetMemoryTag
    - absl::bit_cast<void*>
    - EXPECT_TRUE
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerSizedDelete(uintptr_t ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:116,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerSizedDeleteRegression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:124,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:126,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:132,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:133,1
    - Dst: MallocExtension_Internal_GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:137,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:140,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:147,1
    - Dst: MallocExtension_Internal_GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - allocated
    - deallocated
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 2
    functionsReached:
    - GetMemoryTag
    - EXPECT_EQ
    - MallocExtension_Internal_GetEstimatedAllocatedSize
    - TCMallocInternalNewNothrow
    - MallocExtension_Internal_GetAllocatedSize
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: void MismatchedSizedDelete(size_t allocated, size_t deallocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MismatchedSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, MismatchedSizedDeleteRegression)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:161,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:164,1
    - Dst: TCMallocInternalNewAlignedNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:165,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:168,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:175,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:179,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:180,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - size
    - allocated_alignment
    - deallocated_alignment
    argTypes:
    - size_t
    - std::optional<std::align_val_t>
    - std::optional<std::align_val_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::MismatchedAlignedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<std::align_val_t>::has_value
    - TCMallocInternalNewAlignedNothrow
    - TCMallocInternalDeleteSizedAligned
    - EXPECT_EQ
    - TCMallocInternalNewNothrow
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: "void MismatchedAlignedDelete(\n    size_t size, std::optional<std::align_val_t>
      allocated_alignment,\n    std::optional<std::align_val_t> deallocated_alignment)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:200,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:203,1
    - Dst: TCMallocInternalAlignedAlloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:204,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:206,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:213,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:217,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:218,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - size
    - allocated_alignment
    - deallocated_alignment
    argTypes:
    - size_t
    - std::optional<size_t>
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::MismatchedAlignedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<size_t>::has_value
    - TCMallocInternalFreeAlignedSized
    - EXPECT_EQ
    - TCMallocInternalMalloc
    - GTEST_SKIP
    - TCMallocInternalFreeSized
    - TCMallocInternalAlignedAlloc
    - setjmp
    linkageType: ''
    returnType: void
    signature: "void MismatchedAlignedFree(size_t size,\n                           std::optional<size_t>
      allocated_alignment,\n                           std::optional<size_t> deallocated_alignment)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:237,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:239,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:240,1
    - Dst: std::optional<hot_cold_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:246,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:247,1
    - Dst: TCMallocInternalNewAlignedHotColdNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:248,1
    - Dst: TCMallocInternalNewHotColdNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:251,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:254,1
    - Dst: TCMallocInternalNewAlignedNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:255,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:257,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:265,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:266,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:267,1
    - Dst: std::optional<std::align_val_t>::value_or
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:269,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:269,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:272,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:276,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:278,1
    - Dst: TCMallocInternalDeleteAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:280,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:284,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - size
    - hot_cold
    - alignment
    - misalignment
    - sized
    argTypes:
    - size_t
    - std::optional<hot_cold_t>
    - std::optional<std::align_val_t>
    - std::align_val_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 290
    functionName: tcmalloc::tcmalloc_internal::MisalignedPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<std::align_val_t>::has_value
    - TCMallocInternalDeleteAligned
    - std::optional<std::align_val_t>::value_or
    - TCMallocInternalDeleteSized
    - static_cast<char*>
    - TCMallocInternalDeleteSizedAligned
    - EXPECT_EQ
    - std::optional<hot_cold_t>::has_value
    - std::min
    - setjmp
    - absl::has_single_bit
    - TCMallocInternalNewAlignedNothrow
    - TCMallocInternalNewAlignedHotColdNothrow
    - static_cast<std::align_val_t>
    - GTEST_SKIP
    - TCMallocInternalNewNothrow
    - TCMallocInternalDelete
    - TCMallocInternalNewHotColdNothrow
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: "void MisalignedPointer(size_t size, std::optional<hot_cold_t> hot_cold,\n
      \                      std::optional<std::align_val_t> alignment,\n                       std::align_val_t
      misalignment, bool sized)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:42,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:50,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:54,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 3
    functionsReached:
    - absl::bit_cast<void*>
    - EXPECT_TRUE
    - TCMallocInternalDelete
    - GTEST_SKIP
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerUnsizedDelete(uintptr_t ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:60,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:61,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:62,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.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/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerUnsizedDeleteRegression)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:69,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:72,1
    - Dst: TCMallocInternalRealloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:76,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:79,1
    - Dst: TCMallocInternalFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - new_size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: tcmalloc::tcmalloc_internal::WildPointerRealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 3
    functionsReached:
    - absl::bit_cast<void*>
    - EXPECT_EQ
    - TCMallocInternalFree
    - TCMallocInternalRealloc
    - GTEST_SKIP
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerRealloc(uintptr_t ptr, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerRealloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerRealloc
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerReallocRegression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:90,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:99,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:99,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:106,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:110,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - uintptr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 3
    functionsReached:
    - GetMemoryTag
    - absl::bit_cast<void*>
    - EXPECT_TRUE
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: void WildPointerSizedDelete(uintptr_t ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:116,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:117,1
    - Dst: tcmalloc::tcmalloc_internal::WildPointerSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::WildPointerSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, WildPointerSizedDeleteRegression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:124,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:126,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:132,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:133,1
    - Dst: MallocExtension_Internal_GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:137,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:140,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:147,1
    - Dst: MallocExtension_Internal_GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - allocated
    - deallocated
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 3
    functionsReached:
    - GetMemoryTag
    - EXPECT_EQ
    - MallocExtension_Internal_GetEstimatedAllocatedSize
    - TCMallocInternalNewNothrow
    - MallocExtension_Internal_GetAllocatedSize
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: void MismatchedSizedDelete(size_t allocated, size_t deallocated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::MismatchedSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::MismatchedSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(MemoryErrorsFuzzTest, MismatchedSizedDeleteRegression)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:161,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:164,1
    - Dst: TCMallocInternalNewAlignedNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:165,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:168,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:175,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:179,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:180,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - size
    - allocated_alignment
    - deallocated_alignment
    argTypes:
    - size_t
    - std::optional<std::align_val_t>
    - std::optional<std::align_val_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: tcmalloc::tcmalloc_internal::MismatchedAlignedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<std::align_val_t>::has_value
    - TCMallocInternalNewAlignedNothrow
    - TCMallocInternalDeleteSizedAligned
    - EXPECT_EQ
    - TCMallocInternalNewNothrow
    - GTEST_SKIP
    - TCMallocInternalDeleteSized
    - setjmp
    linkageType: ''
    returnType: void
    signature: "void MismatchedAlignedDelete(\n    size_t size, std::optional<std::align_val_t>
      allocated_alignment,\n    std::optional<std::align_val_t> deallocated_alignment)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:200,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:203,1
    - Dst: TCMallocInternalAlignedAlloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:204,1
    - Dst: TCMallocInternalMalloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:206,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:213,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:217,1
    - Dst: TCMallocInternalFreeAlignedSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:218,1
    - Dst: TCMallocInternalFreeSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - size
    - allocated_alignment
    - deallocated_alignment
    argTypes:
    - size_t
    - std::optional<size_t>
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: tcmalloc::tcmalloc_internal::MismatchedAlignedFree
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<size_t>::has_value
    - TCMallocInternalFreeAlignedSized
    - EXPECT_EQ
    - TCMallocInternalMalloc
    - GTEST_SKIP
    - TCMallocInternalFreeSized
    - TCMallocInternalAlignedAlloc
    - setjmp
    linkageType: ''
    returnType: void
    signature: "void MismatchedAlignedFree(size_t size,\n                           std::optional<size_t>
      allocated_alignment,\n                           std::optional<size_t> deallocated_alignment)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:237,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:239,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:240,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:240,1
    - Dst: std::optional<hot_cold_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:246,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:247,1
    - Dst: TCMallocInternalNewAlignedHotColdNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:248,1
    - Dst: TCMallocInternalNewHotColdNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:251,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:254,1
    - Dst: TCMallocInternalNewAlignedNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:255,1
    - Dst: TCMallocInternalNewNothrow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:257,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:265,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:266,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:267,1
    - Dst: std::optional<std::align_val_t>::value_or
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:267,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:269,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:269,1
    - Dst: setjmp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:272,1
    - Dst: std::optional<std::align_val_t>::has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:276,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:278,1
    - Dst: TCMallocInternalDeleteAligned
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:280,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:284,1
    - Dst: TCMallocInternalDelete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - size
    - hot_cold
    - alignment
    - misalignment
    - sized
    argTypes:
    - size_t
    - std::optional<hot_cold_t>
    - std::optional<std::align_val_t>
    - std::align_val_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 290
    functionName: tcmalloc::tcmalloc_internal::MisalignedPointer
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 0
    functionsReached:
    - std::optional<std::align_val_t>::has_value
    - TCMallocInternalDeleteAligned
    - std::optional<std::align_val_t>::value_or
    - TCMallocInternalDeleteSized
    - static_cast<char*>
    - TCMallocInternalDeleteSizedAligned
    - EXPECT_EQ
    - std::optional<hot_cold_t>::has_value
    - std::min
    - setjmp
    - absl::has_single_bit
    - TCMallocInternalNewAlignedNothrow
    - TCMallocInternalNewAlignedHotColdNothrow
    - static_cast<std::align_val_t>
    - GTEST_SKIP
    - TCMallocInternalNewNothrow
    - TCMallocInternalDelete
    - TCMallocInternalNewHotColdNothrow
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: "void MisalignedPointer(size_t size, std::optional<hot_cold_t> hot_cold,\n
      \                      std::optional<std::align_val_t> alignment,\n                       std::align_val_t
      misalignment, bool sized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:309,1
    - Dst: fuzztest::InitFuzzTest
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:310,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.cc
    functionUses: 8
    functionsReached:
    - fuzztest::InitFuzzTest
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - 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: 8
    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:
    - EXPECT_EQ
    - ASSERT_FALSE
    - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    - absl::StatusOr::status
    - absl::StatusOr::ok
    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:
    - EXPECT_GE
    - size
    - EXPECT_GT
    - Field
    - absl::StatusOr::value
    - GetSpanDetailsForObject
    - ::operator delete
    - std::optional::has_value
    - Gt
    - std::optional::value
    - Each
    - ::operator new
    - EXPECT_THAT
    - AllOf
    - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    - ASSERT_TRUE
    - absl::StatusOr::ok
    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:
    - EXPECT_EQ
    - ASSERT_FALSE
    - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    - absl::StatusOr::status
    - absl::StatusOr::ok
    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:
    - EXPECT_GE
    - size
    - EXPECT_GT
    - Field
    - absl::StatusOr::value
    - GetSpanDetailsForObject
    - ::operator delete
    - std::optional::has_value
    - Gt
    - std::optional::value
    - Each
    - ::operator new
    - EXPECT_THAT
    - AllOf
    - tcmalloc::malloc_tracing_extension::GetAllocatedAddressRanges
    - ASSERT_TRUE
    - absl::StatusOr::ok
    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: 8
    functionsReached:
    - tcmalloc::MallocExtension::GetStats
    - CHECK_NE
    - absl::ConsumePrefix
    - CHECK_EQ
    - printf
    - absl::SimpleAtoi
    - CHECK
    - absl::StrSplit
    - absl::StrContains
    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:
    - auto::StartTime
    - CHECK
    - auto::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    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::has_value
    - CHECK
    - auto::value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - tcmalloc::PeakMemoryUsage
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_NEAR
    - ::operator delete
    - tcmalloc::ProfileSizeAndTime
    - EXPECT_LE
    - ::operator new
    - benchmark::DoNotOptimize
    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:
    - auto::StartTime
    - CHECK
    - auto::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    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::has_value
    - CHECK
    - auto::value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - tcmalloc::PeakMemoryUsage
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_NEAR
    - ::operator delete
    - tcmalloc::ProfileSizeAndTime
    - EXPECT_LE
    - ::operator new
    - benchmark::DoNotOptimize
    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:
    - auto::StartTime
    - CHECK
    - auto::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    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::has_value
    - CHECK
    - auto::value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - tcmalloc::PeakMemoryUsage
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_NEAR
    - ::operator delete
    - tcmalloc::ProfileSizeAndTime
    - EXPECT_LE
    - ::operator new
    - benchmark::DoNotOptimize
    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:
    - auto::StartTime
    - CHECK
    - auto::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    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::has_value
    - CHECK
    - auto::value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - tcmalloc::PeakMemoryUsage
    - EXPECT_GT
    - EXPECT_EQ
    - EXPECT_NEAR
    - ::operator delete
    - tcmalloc::ProfileSizeAndTime
    - EXPECT_LE
    - ::operator new
    - benchmark::DoNotOptimize
    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:
    - absl::LogUniform
    - load
    - ABSL_CHECK_GE
    - TCMallocInternalDelete
    - TCMallocInternalNew
    - std::vector::reserve
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - TCMallocInternalDeleteSized
    - 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:
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - std::thread::join
    - absl::SleepFor
    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:
    - absl::LogUniform
    - load
    - ABSL_CHECK_GE
    - TCMallocInternalDelete
    - TCMallocInternalNew
    - std::vector::reserve
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - TCMallocInternalDeleteSized
    - 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:
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - std::thread::join
    - absl::SleepFor
    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:
    - absl::LogUniform
    - load
    - ABSL_CHECK_GE
    - TCMallocInternalDelete
    - TCMallocInternalNew
    - std::vector::reserve
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - TCMallocInternalDeleteSized
    - 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:
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - std::thread::join
    - absl::SleepFor
    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:
    - absl::LogUniform
    - load
    - ABSL_CHECK_GE
    - TCMallocInternalDelete
    - TCMallocInternalNew
    - std::vector::reserve
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - TCMallocInternalDeleteSized
    - 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:
    - join
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - std::atomic::store
    - std::thread::join
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(ParallelTest, Stable)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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:67,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:68,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - SimpleRegion::SimpleRegion
    - MallocInternal
    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: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    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:144,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:145,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:147,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:148,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:150,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - free
    - tcmalloc_internal::max
    - ASSERT_NE
    - malloc
    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:158,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:166,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - EXPECT_EQ
    - absl::IgnoreLeak
    - usage_hint_::has_value
    - ::operator new
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::hintToString
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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:67,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:68,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - SimpleRegion::SimpleRegion
    - MallocInternal
    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: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    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:144,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:145,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:147,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:148,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:150,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - free
    - tcmalloc_internal::max
    - ASSERT_NE
    - malloc
    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:158,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:166,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - EXPECT_EQ
    - absl::IgnoreLeak
    - usage_hint_::has_value
    - ::operator new
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::hintToString
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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:67,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:68,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - SimpleRegion::SimpleRegion
    - MallocInternal
    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: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    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:144,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:145,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:147,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:148,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:150,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - free
    - tcmalloc_internal::max
    - ASSERT_NE
    - malloc
    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:158,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:166,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - EXPECT_EQ
    - absl::IgnoreLeak
    - usage_hint_::has_value
    - ::operator new
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::hintToString
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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:67,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:68,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - SimpleRegion::SimpleRegion
    - MallocInternal
    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: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    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:144,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:145,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:147,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:148,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:150,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - free
    - tcmalloc_internal::max
    - ASSERT_NE
    - malloc
    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:158,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:166,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - EXPECT_EQ
    - absl::IgnoreLeak
    - usage_hint_::has_value
    - ::operator new
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::hintToString
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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:67,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:68,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - SimpleRegion::SimpleRegion
    - MallocInternal
    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: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    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:144,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:145,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:147,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:148,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:150,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - free
    - tcmalloc_internal::max
    - ASSERT_NE
    - malloc
    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:158,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:166,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - EXPECT_EQ
    - absl::IgnoreLeak
    - usage_hint_::has_value
    - ::operator new
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::hintToString
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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:67,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:68,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - SimpleRegion::SimpleRegion
    - MallocInternal
    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: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    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:144,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:145,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:147,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:148,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:150,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - free
    - tcmalloc_internal::max
    - ASSERT_NE
    - malloc
    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:158,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:166,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - EXPECT_EQ
    - absl::IgnoreLeak
    - usage_hint_::has_value
    - ::operator new
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::hintToString
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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:67,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:68,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - SimpleRegion::SimpleRegion
    - MallocInternal
    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: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    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:144,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:145,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:147,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:148,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:150,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - free
    - tcmalloc_internal::max
    - ASSERT_NE
    - malloc
    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:158,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:166,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - EXPECT_EQ
    - absl::IgnoreLeak
    - usage_hint_::has_value
    - ::operator new
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::hintToString
    linkageType: ''
    returnType: void
    signature: void TEST(UsageHint, VerifyUsageHintkMetadataTest)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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:67,1
    - Dst: mprotect
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:68,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    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:83,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:87,1
    - Dst: SimpleRegion::SimpleRegion
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - size
    - hint
    argTypes:
    - void*
    - size_t
    - UsageHint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: tcmalloc::tcmalloc_internal::SimpleRegionFactory::Create
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - TC_CHECK_NE
    - SimpleRegion::SimpleRegion
    - MallocInternal
    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: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:123,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    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:144,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:145,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:147,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:148,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:150,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:151,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - free
    - tcmalloc_internal::max
    - ASSERT_NE
    - malloc
    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:158,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: usage_hint_::has_value
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:165,1
    - Dst: tcmalloc::tcmalloc_internal::hintToString
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:166,1
    - Dst: absl::IgnoreLeak
      Src: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/system-alloc_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetRegionFactory
    - EXPECT_EQ
    - absl::IgnoreLeak
    - usage_hint_::has_value
    - ::operator new
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::hintToString
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 41
    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:44,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:45,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::SamplingMemoryTest::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:53,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:56,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: tcmalloc::SamplingMemoryTest::SetSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ::operator new
    - benchmark::DoNotOptimize
    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:61,1
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 63
    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:86,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:89,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:92,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:93,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:96,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:100,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:100,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:101,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:108,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:111,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:113,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 124
    functionName: tcmalloc::SamplingMemoryTest::HeapGrowth
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - AllowedCpus
    - ::operator delete
    - sized_delete
    - tcmalloc::SamplingMemoryTest::CurrentHeapSize
    - ::operator new
    - benchmark::DoNotOptimize
    - reinterpret_cast<void**>
    - ScopedAffinityMask::Tampered
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t HeapGrowth(size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:131,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:132,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:133,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:135,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:137,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:145,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:149,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:160,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - GetParam
    - HeapGrowth
    - EXPECT_LE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SetSamplingInterval
    - EXPECT_NE
    - 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:172,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:177,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:180,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 41
    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:44,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:45,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::SamplingMemoryTest::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:53,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:56,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: tcmalloc::SamplingMemoryTest::SetSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ::operator new
    - benchmark::DoNotOptimize
    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:61,1
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 63
    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:86,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:89,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:92,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:93,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:96,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:100,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:100,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:101,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:108,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:111,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:113,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 124
    functionName: tcmalloc::SamplingMemoryTest::HeapGrowth
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - AllowedCpus
    - ::operator delete
    - sized_delete
    - tcmalloc::SamplingMemoryTest::CurrentHeapSize
    - ::operator new
    - benchmark::DoNotOptimize
    - reinterpret_cast<void**>
    - ScopedAffinityMask::Tampered
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t HeapGrowth(size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:131,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:132,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:133,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:135,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:137,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:145,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:149,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:160,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - GetParam
    - HeapGrowth
    - EXPECT_LE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SetSamplingInterval
    - EXPECT_NE
    - 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:172,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:177,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:180,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 41
    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:44,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:45,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::SamplingMemoryTest::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:53,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:56,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: tcmalloc::SamplingMemoryTest::SetSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ::operator new
    - benchmark::DoNotOptimize
    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:61,1
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 63
    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:86,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:89,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:92,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:93,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:96,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:100,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:100,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:101,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:108,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:111,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:113,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 124
    functionName: tcmalloc::SamplingMemoryTest::HeapGrowth
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - AllowedCpus
    - ::operator delete
    - sized_delete
    - tcmalloc::SamplingMemoryTest::CurrentHeapSize
    - ::operator new
    - benchmark::DoNotOptimize
    - reinterpret_cast<void**>
    - ScopedAffinityMask::Tampered
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t HeapGrowth(size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:131,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:132,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:133,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:135,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:137,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:145,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:149,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:160,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - GetParam
    - HeapGrowth
    - EXPECT_LE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SetSamplingInterval
    - EXPECT_NE
    - 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:172,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:177,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:180,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 41
    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:44,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:45,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tcmalloc::SamplingMemoryTest::Property
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 3
    functionsReached:
    - TC_CHECK
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:50,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:53,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:56,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: tcmalloc::SamplingMemoryTest::SetSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ::operator new
    - benchmark::DoNotOptimize
    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:61,1
    - Dst: tcmalloc::SamplingMemoryTest::Property
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 63
    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:86,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:89,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:92,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:93,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:96,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:100,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:100,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:101,1
    - Dst: tcmalloc::SamplingMemoryTest::CurrentHeapSize
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:108,1
    - Dst: reinterpret_cast<void**>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:111,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:113,1
    - Dst: ScopedAffinityMask::Tampered
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 124
    functionName: tcmalloc::SamplingMemoryTest::HeapGrowth
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - AllowedCpus
    - ::operator delete
    - sized_delete
    - tcmalloc::SamplingMemoryTest::CurrentHeapSize
    - ::operator new
    - benchmark::DoNotOptimize
    - reinterpret_cast<void**>
    - ScopedAffinityMask::Tampered
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t HeapGrowth(size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:131,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:132,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:133,1
    - Dst: SetSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:135,1
    - Dst: HeapGrowth
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:137,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:144,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:145,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:148,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:149,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:160,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - GetParam
    - HeapGrowth
    - EXPECT_LE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SetSamplingInterval
    - EXPECT_NE
    - 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:172,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:177,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:180,1
    - Dst: std::vector::back
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    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:192,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampling_memusage_test.cc
    functionUses: 8
    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::sized_delete
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::max
    - EXPECT_LE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - tcmalloc_internal::LinkedList::Push
    - absl::FPrintF
    - tcmalloc::PhysicalMemoryUsed
    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::sized_delete
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::max
    - EXPECT_LE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - tcmalloc_internal::LinkedList::Push
    - absl::FPrintF
    - tcmalloc::PhysicalMemoryUsed
    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::sized_delete
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::max
    - EXPECT_LE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - tcmalloc_internal::LinkedList::Push
    - absl::FPrintF
    - tcmalloc::PhysicalMemoryUsed
    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::sized_delete
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::max
    - EXPECT_LE
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - tcmalloc_internal::LinkedList::Push
    - absl::FPrintF
    - tcmalloc::PhysicalMemoryUsed
    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:23,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/want_disable_wider_slabs_test_helper.cc:25,1
    - Dst: printf
      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: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_wider_slabs_test_helper.cc
    functionUses: 8
    functionsReached:
    - tcmalloc::MallocExtension::GetStats
    - printf
    - absl::StrContains
    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:59,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: tcmalloc::TestSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::max
    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: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    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:92,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:93,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: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:97,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:100,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::SampledHooksTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - tcmalloc_internal::max
    - MallocHook::AddSampledNewHook
    - MallocHook::AddSampledDeleteHook
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:104,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: tcmalloc::SampledHooksTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - MallocHook::RemoveSampledNewHook
    - 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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    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:114,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    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:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    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:125,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: tcmalloc::SampledHooksTest::DeallocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - sized_aligned_delete
    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:133,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: EXPECT_GT
      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_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:137,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:139,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:141,1
    - Dst: Deallocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:146,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:148,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: EXPECT_GT
      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_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:154,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:156,1
    - Dst: Deallocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - Deallocate
    - Allocate
    - absl::Now
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:168,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:169,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:174,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:176,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:177,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:179,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:180,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:187,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:188,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 194
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - EXPECT_GE
    - EXPECT_EQ
    - tcmalloc_internal::max
    - EXPECT_LE
    - nallocx
    - Deallocate
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SCOPED_TRACE
    - Allocate
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, SometimesSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:199,1
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:204,1
    - Dst: Allocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - EXPECT_EQ
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, NeverSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:214,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:215,1
    - Dst: AllocateAligned
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:219,1
    - Dst: DeallocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - EXPECT_EQ
    - DeallocateAligned
    - Deallocate
    - Allocate
    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:229,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:230,1
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:236,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:238,1
    - Dst: Deallocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Deallocate
    - ::operator new[]
    - Allocate
    - ::operator delete[]
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:59,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: tcmalloc::TestSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::max
    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: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    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:92,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:93,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: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:97,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:100,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::SampledHooksTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - tcmalloc_internal::max
    - MallocHook::AddSampledNewHook
    - MallocHook::AddSampledDeleteHook
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:104,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: tcmalloc::SampledHooksTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - MallocHook::RemoveSampledNewHook
    - 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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    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:114,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    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:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    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:125,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: tcmalloc::SampledHooksTest::DeallocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - sized_aligned_delete
    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:133,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: EXPECT_GT
      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_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:137,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:139,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:141,1
    - Dst: Deallocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:146,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:148,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: EXPECT_GT
      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_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:154,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:156,1
    - Dst: Deallocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - Deallocate
    - Allocate
    - absl::Now
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:168,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:169,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:174,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:176,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:177,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:179,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:180,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:187,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:188,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 194
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - EXPECT_GE
    - EXPECT_EQ
    - tcmalloc_internal::max
    - EXPECT_LE
    - nallocx
    - Deallocate
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SCOPED_TRACE
    - Allocate
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, SometimesSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:199,1
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:204,1
    - Dst: Allocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - EXPECT_EQ
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, NeverSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:214,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:215,1
    - Dst: AllocateAligned
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:219,1
    - Dst: DeallocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - EXPECT_EQ
    - DeallocateAligned
    - Deallocate
    - Allocate
    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:229,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:230,1
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:236,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:238,1
    - Dst: Deallocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Deallocate
    - ::operator new[]
    - Allocate
    - ::operator delete[]
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:59,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: tcmalloc::TestSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::max
    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: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    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:92,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:93,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: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:97,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:100,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::SampledHooksTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - tcmalloc_internal::max
    - MallocHook::AddSampledNewHook
    - MallocHook::AddSampledDeleteHook
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:104,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: tcmalloc::SampledHooksTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - MallocHook::RemoveSampledNewHook
    - 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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    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:114,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    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:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    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:125,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: tcmalloc::SampledHooksTest::DeallocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - sized_aligned_delete
    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:133,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: EXPECT_GT
      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_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:137,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:139,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:141,1
    - Dst: Deallocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:146,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:148,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: EXPECT_GT
      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_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:154,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:156,1
    - Dst: Deallocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - Deallocate
    - Allocate
    - absl::Now
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:168,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:169,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:174,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:176,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:177,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:179,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:180,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:187,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:188,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 194
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - EXPECT_GE
    - EXPECT_EQ
    - tcmalloc_internal::max
    - EXPECT_LE
    - nallocx
    - Deallocate
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SCOPED_TRACE
    - Allocate
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, SometimesSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:199,1
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:204,1
    - Dst: Allocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - EXPECT_EQ
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, NeverSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:214,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:215,1
    - Dst: AllocateAligned
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:219,1
    - Dst: DeallocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - EXPECT_EQ
    - DeallocateAligned
    - Deallocate
    - Allocate
    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:229,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:230,1
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:236,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:238,1
    - Dst: Deallocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Deallocate
    - ::operator new[]
    - Allocate
    - ::operator delete[]
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:59,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' sampled_alloc'
    argTypes:
    - MallocHook::SampledAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: tcmalloc::TestSampledNewHook
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::max
    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: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    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:92,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:93,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: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:97,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: MallocHook::AddSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:100,1
    - Dst: MallocHook::AddSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tcmalloc::SampledHooksTest::SetUp
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - tcmalloc_internal::max
    - MallocHook::AddSampledNewHook
    - MallocHook::AddSampledDeleteHook
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: MallocHook::RemoveSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:103,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:104,1
    - Dst: MallocHook::RemoveSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: tcmalloc::SampledHooksTest::TearDown
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - MallocHook::RemoveSampledNewHook
    - 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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    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:114,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    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:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    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:125,1
    - Dst: std::align_val_t
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bytes
    - alignment
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: tcmalloc::SampledHooksTest::DeallocateAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - sized_aligned_delete
    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:133,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:135,1
    - Dst: EXPECT_GT
      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_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:137,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:139,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:141,1
    - Dst: Deallocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:146,1
    - Dst: absl::Now
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:148,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:150,1
    - Dst: EXPECT_GT
      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_LT
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:152,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:154,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:156,1
    - Dst: Deallocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    - Deallocate
    - Allocate
    - absl::Now
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:168,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:169,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:174,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:176,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:177,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:179,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:180,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:184,1
    - Dst: Allocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:184,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:187,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:188,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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 194
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - EXPECT_GE
    - EXPECT_EQ
    - tcmalloc_internal::max
    - EXPECT_LE
    - nallocx
    - Deallocate
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - SCOPED_TRACE
    - Allocate
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, SometimesSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:199,1
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:201,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:204,1
    - Dst: Allocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - EXPECT_EQ
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, NeverSampled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:214,1
    - Dst: Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:215,1
    - Dst: AllocateAligned
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:219,1
    - Dst: DeallocateAligned
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - EXPECT_EQ
    - DeallocateAligned
    - Deallocate
    - Allocate
    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:229,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:230,1
    - Dst: Allocate
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:236,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      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: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:238,1
    - Dst: Deallocate
      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
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sampled_hooks_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Deallocate
    - ::operator new[]
    - Allocate
    - ::operator delete[]
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(SampledHooksTest, AlwaysSampledAndGuarded)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: []
    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_GE
    - TC_ASSERT
    - static_cast<double>
    - TC_ASSERT_LE
    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:
    - ASSERT_TRUE
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    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
    - ASSERT_TRUE
    - TCMallocInternalRealloc
    - TCMallocInternalMalloc
    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:
    - TCMallocInternalFreeAlignedSized
    - ASSERT_TRUE
    - static_cast<int>
    - 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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - static_cast<int>
    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
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - static_cast<int>
    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:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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:
    - TCMallocInternalNew
    - TCMallocInternalDeleteSized
    linkageType: ''
    returnType: void
    signature: void NewSizedDelete(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:154,1
    - Dst: TCMallocInternalDeleteAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::AlignedNewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - TCMallocInternalDeleteAligned
    - TCMallocInternalNewAligned
    linkageType: ''
    returnType: void
    signature: void AlignedNewDelete(size_t size, std::align_val_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:168,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalNewAligned
    linkageType: ''
    returnType: void
    signature: void AlignedNewSizedDelete(size_t size, std::align_val_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:173,1
    - Dst: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocFuzzTest, AlignedNewSizedDeleteRegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:186,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    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:194,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    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:202,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    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:213,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:214,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:215,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:216,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - static_cast<int>
    - TCMallocInternalSizeReturningNewAligned
    - TCMallocInternalDeleteSizedAligned
    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:226,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:227,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:228,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:229,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - static_cast<int>
    - TCMallocInternalSizeReturningNewAligned
    - TCMallocInternalDeleteSizedAligned
    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:240,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:241,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:242,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:244,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:245,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: 246
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TCMallocInternalDeleteSizedAligned
    - static_cast<std::align_val_t>
    - TCMallocInternalSizeReturningNewAligned
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteSizedAligned(size_t alignment_log2,\n
      \                                              size_t size,\n                                               double
      delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: []
    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_GE
    - TC_ASSERT
    - static_cast<double>
    - TC_ASSERT_LE
    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:
    - ASSERT_TRUE
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    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
    - ASSERT_TRUE
    - TCMallocInternalRealloc
    - TCMallocInternalMalloc
    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:
    - TCMallocInternalFreeAlignedSized
    - ASSERT_TRUE
    - static_cast<int>
    - 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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - static_cast<int>
    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
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - static_cast<int>
    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:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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:
    - TCMallocInternalNew
    - TCMallocInternalDeleteSized
    linkageType: ''
    returnType: void
    signature: void NewSizedDelete(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:154,1
    - Dst: TCMallocInternalDeleteAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::AlignedNewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - TCMallocInternalDeleteAligned
    - TCMallocInternalNewAligned
    linkageType: ''
    returnType: void
    signature: void AlignedNewDelete(size_t size, std::align_val_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:168,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 1
    functionsReached:
    - ASSERT_TRUE
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalNewAligned
    linkageType: ''
    returnType: void
    signature: void AlignedNewSizedDelete(size_t size, std::align_val_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:173,1
    - Dst: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocFuzzTest, AlignedNewSizedDeleteRegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:186,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    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:194,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    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:202,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    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:213,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:214,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:215,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:216,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - static_cast<int>
    - TCMallocInternalSizeReturningNewAligned
    - TCMallocInternalDeleteSizedAligned
    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:226,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:227,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:228,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:229,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - static_cast<int>
    - TCMallocInternalSizeReturningNewAligned
    - TCMallocInternalDeleteSizedAligned
    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:240,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:241,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:242,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:244,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:245,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: 246
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TCMallocInternalDeleteSizedAligned
    - static_cast<std::align_val_t>
    - TCMallocInternalSizeReturningNewAligned
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteSizedAligned(size_t alignment_log2,\n
      \                                              size_t size,\n                                               double
      delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: []
    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_GE
    - TC_ASSERT
    - static_cast<double>
    - TC_ASSERT_LE
    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:
    - ASSERT_TRUE
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    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
    - ASSERT_TRUE
    - TCMallocInternalRealloc
    - TCMallocInternalMalloc
    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:
    - TCMallocInternalFreeAlignedSized
    - ASSERT_TRUE
    - static_cast<int>
    - 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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - static_cast<int>
    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
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - static_cast<int>
    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:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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:
    - TCMallocInternalNew
    - TCMallocInternalDeleteSized
    linkageType: ''
    returnType: void
    signature: void NewSizedDelete(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:154,1
    - Dst: TCMallocInternalDeleteAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::AlignedNewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - TCMallocInternalDeleteAligned
    - TCMallocInternalNewAligned
    linkageType: ''
    returnType: void
    signature: void AlignedNewDelete(size_t size, std::align_val_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:168,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 2
    functionsReached:
    - ASSERT_TRUE
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalNewAligned
    linkageType: ''
    returnType: void
    signature: void AlignedNewSizedDelete(size_t size, std::align_val_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:173,1
    - Dst: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocFuzzTest, AlignedNewSizedDeleteRegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:186,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    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:194,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    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:202,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    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:213,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:214,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:215,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:216,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - static_cast<int>
    - TCMallocInternalSizeReturningNewAligned
    - TCMallocInternalDeleteSizedAligned
    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:226,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:227,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:228,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:229,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - static_cast<int>
    - TCMallocInternalSizeReturningNewAligned
    - TCMallocInternalDeleteSizedAligned
    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:240,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:241,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:242,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:244,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:245,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: 246
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TCMallocInternalDeleteSizedAligned
    - static_cast<std::align_val_t>
    - TCMallocInternalSizeReturningNewAligned
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    linkageType: ''
    returnType: void
    signature: "void SizeReturningNewAlignedDeleteSizedAligned(size_t alignment_log2,\n
      \                                              size_t size,\n                                               double
      delete_size_scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: []
    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_GE
    - TC_ASSERT
    - static_cast<double>
    - TC_ASSERT_LE
    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:
    - ASSERT_TRUE
    - TCMallocInternalFreeSized
    - TCMallocInternalMalloc
    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
    - ASSERT_TRUE
    - TCMallocInternalRealloc
    - TCMallocInternalMalloc
    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:
    - TCMallocInternalFreeAlignedSized
    - ASSERT_TRUE
    - static_cast<int>
    - 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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    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:
    - TCMallocInternalAllocAtLeast
    - TCMallocInternalFreeSized
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - static_cast<int>
    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
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - static_cast<int>
    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:
    - TCMallocInternalFreeAlignedSized
    - static_cast<int>
    - TCMallocInternalAlignedAllocAtLeast
    - ASSERT_TRUE
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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:
    - TCMallocInternalNew
    - TCMallocInternalDeleteSized
    linkageType: ''
    returnType: void
    signature: void NewSizedDelete(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:153,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:154,1
    - Dst: TCMallocInternalDeleteAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: tcmalloc::tcmalloc_internal::AlignedNewDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - TCMallocInternalDeleteAligned
    - TCMallocInternalNewAligned
    linkageType: ''
    returnType: void
    signature: void AlignedNewDelete(size_t size, std::align_val_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:168,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - std::align_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 3
    functionsReached:
    - ASSERT_TRUE
    - TCMallocInternalDeleteSizedAligned
    - TCMallocInternalNewAligned
    linkageType: ''
    returnType: void
    signature: void AlignedNewSizedDelete(size_t size, std::align_val_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:173,1
    - Dst: tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocFuzzTest, AlignedNewSizedDeleteRegression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCMallocInternalSizeReturningNew
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:186,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    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:194,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    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:202,1
    - Dst: TCMallocInternalDeleteSized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:203,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - delete_size_scale
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    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:213,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:214,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:215,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:216,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteAllocatedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - static_cast<int>
    - TCMallocInternalSizeReturningNewAligned
    - TCMallocInternalDeleteSizedAligned
    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:226,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:227,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:228,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:229,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment_log2
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteRequestedSizeAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::align_val_t>
    - static_cast<int>
    - TCMallocInternalSizeReturningNewAligned
    - TCMallocInternalDeleteSizedAligned
    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:240,1
    - Dst: TCMallocInternalSizeReturningNewAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:241,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:242,1
    - Dst: TCMallocInternalDeleteSizedAligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:243,1
    - Dst: tcmalloc::tcmalloc_internal::PickDeleteSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:244,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:245,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: 246
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: tcmalloc::tcmalloc_internal::SizeReturningNewAlignedDeleteSizedAligned
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TCMallocInternalDeleteSizedAligned
    - static_cast<std::align_val_t>
    - TCMallocInternalSizeReturningNewAligned
    - tcmalloc::tcmalloc_internal::PickDeleteSize
    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:257,1
    - Dst: fuzztest::InitFuzzTest
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:258,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: main
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_fuzzer.cc
    functionUses: 8
    functionsReached:
    - fuzztest::InitFuzzTest
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    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:
    - size
    - range
    - ::operator delete
    - CHECK_EQ
    - ::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
    - MallocHook::AddNewHook
    - ::operator delete
    - MallocHook::RemoveNewHook
    - ::operator new
    - benchmark::DoNotOptimize
    - CHECK
    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:
    - range
    - MallocHook::AddDeleteHook
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - MallocHook::RemoveDeleteHook
    - CHECK
    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:
    - __size_returning_new
    - ::operator delete
    - 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
    - ::operator delete
    - nallocx
    - ::operator new
    - benchmark::DoNotOptimize
    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:
    - static_cast<std::align_val_t>
    - range
    - operator new
    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:
    - range
    - free
    - tcmalloc::malloc_pages
    - benchmark::DoNotOptimize
    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:
    - absl::Uniform<int32_t>
    - free
    - tcmalloc::malloc_pages
    - 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:
    - range
    - tcmalloc::MallocExtension::GetStats
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    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:
    - range
    - char::char
    - std::string::resize
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStats
    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:
    - absl::ToDoubleSeconds
    - lock
    - range
    - absl::Notification::HasBeenNotified
    - tcmalloc::MallocExtension::GetStats
    - SetIterationTime
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - absl::Now
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::atomic::fetch_add
    - benchmark::DoNotOptimize
    - unlock
    - absl::Notification::Notify
    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:
    - range
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::vector::size
    - benchmark::DoNotOptimize
    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:
    - absl::ToDoubleSeconds
    - lock
    - range
    - absl::Notification::HasBeenNotified
    - std::atomic::fetch_add
    - SetIterationTime
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - absl::Now
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::vector::size
    - benchmark::DoNotOptimize
    - unlock
    - absl::Notification::Notify
    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:
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    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:
    - range
    - absl::Notification::HasBeenNotified
    - tcmalloc::MallocExtension::SnapshotCurrent
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    - absl::Notification::Notify
    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:
    - size
    - range
    - ::operator delete
    - CHECK_EQ
    - ::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
    - MallocHook::AddNewHook
    - ::operator delete
    - MallocHook::RemoveNewHook
    - ::operator new
    - benchmark::DoNotOptimize
    - CHECK
    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:
    - range
    - MallocHook::AddDeleteHook
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - MallocHook::RemoveDeleteHook
    - CHECK
    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:
    - __size_returning_new
    - ::operator delete
    - 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
    - ::operator delete
    - nallocx
    - ::operator new
    - benchmark::DoNotOptimize
    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:
    - static_cast<std::align_val_t>
    - range
    - operator new
    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:
    - range
    - free
    - tcmalloc::malloc_pages
    - benchmark::DoNotOptimize
    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:
    - absl::Uniform<int32_t>
    - free
    - tcmalloc::malloc_pages
    - 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:
    - range
    - tcmalloc::MallocExtension::GetStats
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    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:
    - range
    - char::char
    - std::string::resize
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStats
    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:
    - absl::ToDoubleSeconds
    - lock
    - range
    - absl::Notification::HasBeenNotified
    - tcmalloc::MallocExtension::GetStats
    - SetIterationTime
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - absl::Now
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::atomic::fetch_add
    - benchmark::DoNotOptimize
    - unlock
    - absl::Notification::Notify
    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:
    - range
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::vector::size
    - benchmark::DoNotOptimize
    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:
    - absl::ToDoubleSeconds
    - lock
    - range
    - absl::Notification::HasBeenNotified
    - std::atomic::fetch_add
    - SetIterationTime
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - absl::Now
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::vector::size
    - benchmark::DoNotOptimize
    - unlock
    - absl::Notification::Notify
    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:
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    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:
    - range
    - absl::Notification::HasBeenNotified
    - tcmalloc::MallocExtension::SnapshotCurrent
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    - absl::Notification::Notify
    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:
    - size
    - range
    - ::operator delete
    - CHECK_EQ
    - ::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
    - MallocHook::AddNewHook
    - ::operator delete
    - MallocHook::RemoveNewHook
    - ::operator new
    - benchmark::DoNotOptimize
    - CHECK
    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:
    - range
    - MallocHook::AddDeleteHook
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - MallocHook::RemoveDeleteHook
    - CHECK
    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:
    - __size_returning_new
    - ::operator delete
    - 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
    - ::operator delete
    - nallocx
    - ::operator new
    - benchmark::DoNotOptimize
    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:
    - static_cast<std::align_val_t>
    - range
    - operator new
    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:
    - range
    - free
    - tcmalloc::malloc_pages
    - benchmark::DoNotOptimize
    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:
    - absl::Uniform<int32_t>
    - free
    - tcmalloc::malloc_pages
    - 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:
    - range
    - tcmalloc::MallocExtension::GetStats
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    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:
    - range
    - char::char
    - std::string::resize
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStats
    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:
    - absl::ToDoubleSeconds
    - lock
    - range
    - absl::Notification::HasBeenNotified
    - tcmalloc::MallocExtension::GetStats
    - SetIterationTime
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - absl::Now
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::atomic::fetch_add
    - benchmark::DoNotOptimize
    - unlock
    - absl::Notification::Notify
    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:
    - range
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::vector::size
    - benchmark::DoNotOptimize
    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:
    - absl::ToDoubleSeconds
    - lock
    - range
    - absl::Notification::HasBeenNotified
    - std::atomic::fetch_add
    - SetIterationTime
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - absl::Now
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::vector::size
    - benchmark::DoNotOptimize
    - unlock
    - absl::Notification::Notify
    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:
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    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:
    - range
    - absl::Notification::HasBeenNotified
    - tcmalloc::MallocExtension::SnapshotCurrent
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    - absl::Notification::Notify
    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:
    - size
    - range
    - ::operator delete
    - CHECK_EQ
    - ::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
    - MallocHook::AddNewHook
    - ::operator delete
    - MallocHook::RemoveNewHook
    - ::operator new
    - benchmark::DoNotOptimize
    - CHECK
    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:
    - range
    - MallocHook::AddDeleteHook
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - MallocHook::RemoveDeleteHook
    - CHECK
    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:
    - __size_returning_new
    - ::operator delete
    - 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
    - ::operator delete
    - nallocx
    - ::operator new
    - benchmark::DoNotOptimize
    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:
    - static_cast<std::align_val_t>
    - range
    - operator new
    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:
    - range
    - free
    - tcmalloc::malloc_pages
    - benchmark::DoNotOptimize
    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:
    - absl::Uniform<int32_t>
    - free
    - tcmalloc::malloc_pages
    - 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:
    - range
    - tcmalloc::MallocExtension::GetStats
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    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:
    - range
    - char::char
    - std::string::resize
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - MallocExtension_Internal_GetStats
    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:
    - absl::ToDoubleSeconds
    - lock
    - range
    - absl::Notification::HasBeenNotified
    - tcmalloc::MallocExtension::GetStats
    - SetIterationTime
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - absl::Now
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::atomic::fetch_add
    - benchmark::DoNotOptimize
    - unlock
    - absl::Notification::Notify
    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:
    - range
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::vector::size
    - benchmark::DoNotOptimize
    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:
    - absl::ToDoubleSeconds
    - lock
    - range
    - absl::Notification::HasBeenNotified
    - std::atomic::fetch_add
    - SetIterationTime
    - MallocExtension_Internal_GetStatsInPbtxt
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - absl::Now
    - std::vector::reserve
    - absl::Uniform<size_t>
    - std::vector::size
    - benchmark::DoNotOptimize
    - unlock
    - absl::Notification::Notify
    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:
    - range
    - tcmalloc::MallocExtension::SnapshotCurrent
    - char::char
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    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:
    - range
    - absl::Notification::HasBeenNotified
    - tcmalloc::MallocExtension::SnapshotCurrent
    - char::char
    - std::thread::join
    - std::vector::emplace_back
    - std::vector::reserve
    - absl::Uniform<size_t>
    - benchmark::DoNotOptimize
    - absl::Notification::Notify
    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: 8
    functionsReached:
    - malloc
    - free
    - TC_CHECK_EQ
    - printf
    - std::max
    - tcmalloc::MallocExtension::GetNumericProperty
    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
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    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: 8
    functionsReached:
    - TC_CHECK_LE
    - memset
    - TC_CHECK_EQ
    - std::vector::reserve
    - GetRSS
    - ::operator delete
    - std::vector::push_back
    - TC_LOG
    - TC_CHECK_NE
    - TC_CHECK_GE
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - mlockall
    - ::operator new
    - TC_BUG
    - UnmappedBytes
    - absl::LogUniform<size_t>
    - tcmalloc_internal::max
    - getrlimit
    - printf
    - ::benchmark::DoNotOptimize
    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: 1
    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:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    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>*::begin
    - std::vector<uint64_t>*::size
    - AndersonDarlingTest
    - std::vector<uint64_t>*::end
    - EXPECT_GT
    - exp
    - std::sort
    - std::min
    - 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_GE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - Sampler::GetSampleInterval
    - EXPECT_LT
    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:
    - exp
    - pow
    - 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:
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - fabs
    - ASSERT_LE
    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
    - pow
    - static_cast<double>
    - fabs
    - EXPECT_LT
    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::DoCheckMean
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - SCOPED_TRACE
    - std::log
    - std::log2
    - static_cast<uint64_t>
    - ASSERT_GE
    - ASSERT_LE
    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_LT
    - ASSERT_GT
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - EXPECT_LE
    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
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    - Sampler*::RecordAllocation
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - exp
    - SCOPED_TRACE
    - Sampler::GetSampleInterval
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    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>*::begin
    - std::vector<uint64_t>*::size
    - AndersonDarlingTest
    - std::vector<uint64_t>*::end
    - EXPECT_GT
    - exp
    - std::sort
    - std::min
    - 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_GE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - Sampler::GetSampleInterval
    - EXPECT_LT
    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:
    - exp
    - pow
    - 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:
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - fabs
    - ASSERT_LE
    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
    - pow
    - static_cast<double>
    - fabs
    - EXPECT_LT
    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::DoCheckMean
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - SCOPED_TRACE
    - std::log
    - std::log2
    - static_cast<uint64_t>
    - ASSERT_GE
    - ASSERT_LE
    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_LT
    - ASSERT_GT
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - EXPECT_LE
    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
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    - Sampler*::RecordAllocation
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - exp
    - SCOPED_TRACE
    - Sampler::GetSampleInterval
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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: 1
    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:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    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>*::begin
    - std::vector<uint64_t>*::size
    - AndersonDarlingTest
    - std::vector<uint64_t>*::end
    - EXPECT_GT
    - exp
    - std::sort
    - std::min
    - 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_GE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - Sampler::GetSampleInterval
    - EXPECT_LT
    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:
    - exp
    - pow
    - 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:
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - fabs
    - ASSERT_LE
    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
    - pow
    - static_cast<double>
    - fabs
    - EXPECT_LT
    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::DoCheckMean
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - SCOPED_TRACE
    - std::log
    - std::log2
    - static_cast<uint64_t>
    - ASSERT_GE
    - ASSERT_LE
    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_LT
    - ASSERT_GT
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - EXPECT_LE
    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
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    - Sampler*::RecordAllocation
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - exp
    - SCOPED_TRACE
    - Sampler::GetSampleInterval
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    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>*::begin
    - std::vector<uint64_t>*::size
    - AndersonDarlingTest
    - std::vector<uint64_t>*::end
    - EXPECT_GT
    - exp
    - std::sort
    - std::min
    - 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_GE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - Sampler::GetSampleInterval
    - EXPECT_LT
    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:
    - exp
    - pow
    - 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:
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - fabs
    - ASSERT_LE
    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
    - pow
    - static_cast<double>
    - fabs
    - EXPECT_LT
    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::DoCheckMean
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - SCOPED_TRACE
    - std::log
    - std::log2
    - static_cast<uint64_t>
    - ASSERT_GE
    - ASSERT_LE
    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_LT
    - ASSERT_GT
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - EXPECT_LE
    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
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    - Sampler*::RecordAllocation
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - exp
    - SCOPED_TRACE
    - Sampler::GetSampleInterval
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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: 1
    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:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    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>*::begin
    - std::vector<uint64_t>*::size
    - AndersonDarlingTest
    - std::vector<uint64_t>*::end
    - EXPECT_GT
    - exp
    - std::sort
    - std::min
    - 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_GE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - Sampler::GetSampleInterval
    - EXPECT_LT
    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:
    - exp
    - pow
    - 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:
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - fabs
    - ASSERT_LE
    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
    - pow
    - static_cast<double>
    - fabs
    - EXPECT_LT
    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::DoCheckMean
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - SCOPED_TRACE
    - std::log
    - std::log2
    - static_cast<uint64_t>
    - ASSERT_GE
    - ASSERT_LE
    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_LT
    - ASSERT_GT
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - EXPECT_LE
    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
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    - Sampler*::RecordAllocation
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - exp
    - SCOPED_TRACE
    - Sampler::GetSampleInterval
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    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>*::begin
    - std::vector<uint64_t>*::size
    - AndersonDarlingTest
    - std::vector<uint64_t>*::end
    - EXPECT_GT
    - exp
    - std::sort
    - std::min
    - 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_GE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - Sampler::GetSampleInterval
    - EXPECT_LT
    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:
    - exp
    - pow
    - 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:
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - fabs
    - ASSERT_LE
    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
    - pow
    - static_cast<double>
    - fabs
    - EXPECT_LT
    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::DoCheckMean
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - SCOPED_TRACE
    - std::log
    - std::log2
    - static_cast<uint64_t>
    - ASSERT_GE
    - ASSERT_LE
    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_LT
    - ASSERT_GT
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - EXPECT_LE
    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
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    - Sampler*::RecordAllocation
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - exp
    - SCOPED_TRACE
    - Sampler::GetSampleInterval
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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: 1
    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:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    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>*::begin
    - std::vector<uint64_t>*::size
    - AndersonDarlingTest
    - std::vector<uint64_t>*::end
    - EXPECT_GT
    - exp
    - std::sort
    - std::min
    - 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_GE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - Sampler::GetSampleInterval
    - EXPECT_LT
    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:
    - exp
    - pow
    - 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:
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - fabs
    - ASSERT_LE
    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
    - pow
    - static_cast<double>
    - fabs
    - EXPECT_LT
    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::DoCheckMean
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - SCOPED_TRACE
    - std::log
    - std::log2
    - static_cast<uint64_t>
    - ASSERT_GE
    - ASSERT_LE
    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_LT
    - ASSERT_GT
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - EXPECT_LE
    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
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    - Sampler*::RecordAllocation
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - exp
    - SCOPED_TRACE
    - Sampler::GetSampleInterval
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - EXPECT_GT
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::GetSampleInterval
    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>*::begin
    - std::vector<uint64_t>*::size
    - AndersonDarlingTest
    - std::vector<uint64_t>*::end
    - EXPECT_GT
    - exp
    - std::sort
    - std::min
    - 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_GE
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - Sampler::PickNextSamplingPoint
    - tcmalloc::tcmalloc_internal::TestSampleAndersonDarling
    - Sampler::GetSampleInterval
    - EXPECT_LT
    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:
    - exp
    - pow
    - 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:
    - tcmalloc::tcmalloc_internal::StandardDeviationsErrorInSample
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - fabs
    - ASSERT_LE
    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
    - pow
    - static_cast<double>
    - fabs
    - EXPECT_LT
    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::DoCheckMean
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - SCOPED_TRACE
    - std::log
    - std::log2
    - static_cast<uint64_t>
    - ASSERT_GE
    - ASSERT_LE
    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_LT
    - ASSERT_GT
    - 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:
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - EXPECT_LE
    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
    - Sampler*::PickNextSamplingPoint
    - Sampler::Sampler
    - Sampler*::RecordAllocation
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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:
    - Sampler::RecordAllocation
    - tcmalloc::tcmalloc_internal::SamplerTest::Init
    - exp
    - SCOPED_TRACE
    - Sampler::GetSampleInterval
    - tcmalloc::tcmalloc_internal::DoCheckMean
    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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - ' args'
    argTypes:
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: AllocateBaseCase
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - operator new
    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:73,1
    - Dst: AllocateRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:75,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: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: AllocateRecursive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - AllocateBaseCase
    - AllocateRecursive
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - ' args'
    argTypes:
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: DeallocBaseCase
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached: []
    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:88,1
    - Dst: DeallocRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:90,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: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: DeallocRecursive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - DeallocBaseCase
    - DeallocRecursive
    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:104,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:105,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:107,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:107,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:112,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:113,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:116,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:117,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_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:121,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:127,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:131,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:132,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_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:140,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:144,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:145,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:146,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:147,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - ' p'
    - ' e'
    argTypes:
    - Params
    - tcmalloc::Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: testEntry
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - log_optional_bool
    - EXPECT_GE
    - LOG
    - absl::ZeroDuration
    - EXPECT_LE
    - value
    - has_value
    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:156,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:157,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:163,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:164,1
    - Dst: absl::GetCurrentTimeNanos
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:165,1
    - Dst: DeallocationzTest::AllocDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:166,1
    - Dst: absl::GetCurrentTimeNanos
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:169,1
    - Dst: tcmalloc::Profile::Type
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:169,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:173,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:182,1
    - Dst: testEntry
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:183,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:200,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:218,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 230
    functionName: DeallocationzTest::Run
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::Profile::Iterate
    - LOG
    - absl::Nanoseconds
    - EXPECT_GE
    - std::move
    - ASSERT_EQ
    - DeallocationzTest::AllocDealloc
    - EXPECT_LE
    - tcmalloc::Profile::Type
    - absl::GetCurrentTimeNanos
    - resize
    - testEntry
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:235,1
    - Dst: DeallocationzTest::Allocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: DeallocationzTest::RunAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - resize
    - DeallocationzTest::Allocate
    linkageType: ''
    returnType: void
    signature: void RunAlloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:242,1
    - Dst: DeallocationzTest::Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 244
    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:248,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:250,1
    - Dst: DeallocationzTest::Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 252
    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:261,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:277,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:280,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:280,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 285
    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:294,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:320,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:322,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:324,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 328
    functionName: DeallocationzTest::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - join
    - DeallocRecursive
    - std::vector::emplace_back
    - 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:348,1
    - Dst: Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Run
    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:361,1
    - Dst: Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Run
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, MultiThreaded)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:369,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:370,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:373,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:374,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:375,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:375,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:376,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:379,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:379,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:380,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:380,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:380,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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 382
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - EXPECT_GT
    - absl::Milliseconds
    - std::move
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentDeallocationSamples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:387,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:388,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:392,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:393,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:393,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:394,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:396,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:397,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:397,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:398,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:398,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:398,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:399,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - EXPECT_GT
    - absl::Milliseconds
    - std::move
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    - absl::SleepFor
    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:411,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:412,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:413,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:413,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:414,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:415,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:415,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 420
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - join
    - std::move
    - absl::Milliseconds
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - absl::SleepFor
    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:423,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:430,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:437,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:438,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:439,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:440,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:440,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:442,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:445,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:446,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:447,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:448,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:448,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 452
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - absl::Milliseconds
    - std::atomic::store
    - absl::ZeroDuration
    - RunDelloc
    - std::thread::join
    - std::atomic::load
    - RunAlloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentProfilerEnableDisable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:457,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:458,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:465,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:469,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:470,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:471,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:471,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:471,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - EXPECT_GT
    - std::move
    - absl::ZeroDuration
    - RunDelloc
    - RunAlloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ObserveAllocationButNotDeallocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:478,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:486,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:490,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:491,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:493,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:493,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 494
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - EXPECT_GT
    - std::move
    - absl::ZeroDuration
    - RunDelloc
    - RunAlloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    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:499,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - size
    argTypes:
    - int
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 503
    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:508,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 512
    functionName: SingleDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - SingleDealloc
    - ::operator delete
    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:517,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:523,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:530,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:535,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:536,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:537,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:541,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:542,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:543,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:546,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:546,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:548,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:568,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:569,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:572,1
    - Dst: Counters::counts::push_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:584,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:587,1
    - Dst: allocator_deallocator_physical_cpu_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:587,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:588,1
    - Dst: allocator_deallocator_virtual_cpu_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:588,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:589,1
    - Dst: allocator_deallocator_l3_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:589,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:590,1
    - Dst: allocator_deallocator_numa_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:590,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:591,1
    - Dst: allocator_deallocator_thread_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_thread_matched::value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:592,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:601,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:602,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:607,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:612,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:617,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:620,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:621,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:626,1
    - Dst: Counters::counts::size
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 632
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - EXPECT_GT
    - absl::Symbolize
    - allocator_deallocator_virtual_cpu_matched::has_value
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - Counters::counts::push_back
    - std::move
    - EXPECT_EQ
    - EXPECT_TRUE
    - allocator_deallocator_thread_matched::has_value
    - allocator_deallocator_thread_matched::value
    - ASSERT_TRUE
    - allocator_deallocator_numa_matched::has_value
    - absl::SleepFor
    - SingleAlloc
    - SingleDealloc
    - absl::Microseconds
    - EXPECT_LE
    - allocator_deallocator_physical_cpu_matched::has_value
    - CheckerIsActive
    - Counters::counts::size
    - EXPECT_GE
    - allocator_deallocator_l3_matched::has_value
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, BasicCounterValues)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:635,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:643,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:645,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:646,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:648,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:649,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:650,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:656,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:661,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:662,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:666,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:687,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 689
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - EXPECT_GE
    - SingleAlloc
    - absl::Milliseconds
    - std::move
    - ASSERT_EQ
    - SingleDealloc
    - EXPECT_EQ
    - absl::Symbolize
    - absl::StrContains
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, RecordLiveAllocations)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:692,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:700,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:703,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:705,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:708,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:710,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:711,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:714,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:715,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:719,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:720,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:725,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:726,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:738,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 747
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - SingleAlloc
    - std::move
    - absl::Milliseconds
    - ASSERT_EQ
    - SingleDealloc
    - EXPECT_EQ
    - absl::Symbolize
    - absl::StrContains
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    - ASSERT_NO_FATAL_FAILURE
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, RecordCensoredAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LifetimeNsToBucketedDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:756,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:756,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:757,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:757,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:758,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:758,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:758,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 767
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - LifetimeNsToBucketedDuration
    - absl::Nanoseconds
    - BucketizeDuration
    - EXPECT_EQ
    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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - ' args'
    argTypes:
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: AllocateBaseCase
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - operator new
    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:73,1
    - Dst: AllocateRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:75,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: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: AllocateRecursive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 3
    functionsReached:
    - AllocateBaseCase
    - AllocateRecursive
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - ' args'
    argTypes:
    - size_t
    - AllocatorArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: DeallocBaseCase
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached: []
    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:88,1
    - Dst: DeallocRecursive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:90,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: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: DeallocRecursive
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 3
    functionsReached:
    - DeallocBaseCase
    - DeallocRecursive
    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:104,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:105,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:107,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:107,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:112,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:113,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:116,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:117,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_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:121,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:124,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:127,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:131,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:132,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_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:140,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:144,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:145,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:146,1
    - Dst: log_optional_bool
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:147,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - ' p'
    - ' e'
    argTypes:
    - Params
    - tcmalloc::Profile::Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: testEntry
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 1
    functionsReached:
    - log_optional_bool
    - EXPECT_GE
    - LOG
    - absl::ZeroDuration
    - EXPECT_LE
    - value
    - has_value
    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:156,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:157,1
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:163,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:164,1
    - Dst: absl::GetCurrentTimeNanos
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:165,1
    - Dst: DeallocationzTest::AllocDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:166,1
    - Dst: absl::GetCurrentTimeNanos
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:167,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:169,1
    - Dst: tcmalloc::Profile::Type
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:169,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:173,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:182,1
    - Dst: testEntry
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:183,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:200,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:208,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:218,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 230
    functionName: DeallocationzTest::Run
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - LOG
    - absl::Nanoseconds
    - EXPECT_GE
    - std::move
    - ASSERT_EQ
    - DeallocationzTest::AllocDealloc
    - EXPECT_LE
    - tcmalloc::Profile::Type
    - absl::GetCurrentTimeNanos
    - resize
    - testEntry
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    linkageType: ''
    returnType: void
    signature: void Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:235,1
    - Dst: DeallocationzTest::Allocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: DeallocationzTest::RunAlloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - resize
    - DeallocationzTest::Allocate
    linkageType: ''
    returnType: void
    signature: void RunAlloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:242,1
    - Dst: DeallocationzTest::Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 244
    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:248,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:250,1
    - Dst: DeallocationzTest::Deallocate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 252
    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:261,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:277,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:280,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:280,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 285
    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:294,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:320,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:322,1
    - Dst: DeallocationzTest::Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:324,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 328
    functionName: DeallocationzTest::Deallocate
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 4
    functionsReached:
    - join
    - DeallocRecursive
    - std::vector::emplace_back
    - 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:348,1
    - Dst: Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Run
    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:361,1
    - Dst: Run
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - Run
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, MultiThreaded)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:369,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:370,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:373,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:374,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:375,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:375,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:376,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:378,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:379,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:379,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:380,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:380,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:380,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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 382
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - EXPECT_GT
    - absl::Milliseconds
    - std::move
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentDeallocationSamples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:387,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:388,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:392,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:393,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:393,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:394,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:396,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:397,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:397,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:398,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:398,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:398,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:399,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - EXPECT_GT
    - absl::Milliseconds
    - std::move
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    - absl::SleepFor
    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:411,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:412,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:413,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:413,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:414,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:415,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:415,1
    - Dst: join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 420
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - join
    - std::move
    - absl::Milliseconds
    - std::vector::emplace_back
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - absl::SleepFor
    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:423,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:430,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:437,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:438,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:439,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:440,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:440,1
    - Dst: std::atomic::store
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:442,1
    - Dst: std::atomic::load
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:445,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:446,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:447,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:448,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:448,1
    - Dst: std::thread::join
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 452
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - absl::Milliseconds
    - std::atomic::store
    - absl::ZeroDuration
    - RunDelloc
    - std::thread::join
    - std::atomic::load
    - RunAlloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ConcurrentProfilerEnableDisable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:457,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:458,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:465,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:469,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:470,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:471,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:471,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:471,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - EXPECT_GT
    - std::move
    - absl::ZeroDuration
    - RunDelloc
    - RunAlloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeallocationzTest, ObserveAllocationButNotDeallocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:478,1
    - Dst: LOG
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:479,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:486,1
    - Dst: RunAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:490,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:491,1
    - Dst: RunDelloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:492,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:493,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:493,1
    - Dst: absl::ZeroDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 494
    functionName: TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - EXPECT_GT
    - std::move
    - absl::ZeroDuration
    - RunDelloc
    - RunAlloc
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    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:499,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - size
    argTypes:
    - int
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 503
    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:508,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - depth
    - ptr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 512
    functionName: SingleDealloc
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 5
    functionsReached:
    - SingleDealloc
    - ::operator delete
    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:517,1
    - Dst: absl::Microseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:523,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:530,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:535,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:536,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:537,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:541,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:542,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:543,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:546,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:546,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:548,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:568,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:569,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:572,1
    - Dst: Counters::counts::push_back
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:584,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:587,1
    - Dst: allocator_deallocator_physical_cpu_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:587,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:588,1
    - Dst: allocator_deallocator_virtual_cpu_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:588,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:589,1
    - Dst: allocator_deallocator_l3_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:589,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:590,1
    - Dst: allocator_deallocator_numa_matched::has_value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:590,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:591,1
    - Dst: allocator_deallocator_thread_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_thread_matched::value
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:592,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:601,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:602,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:607,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:612,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:617,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:620,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:621,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:626,1
    - Dst: Counters::counts::size
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 632
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - EXPECT_GT
    - absl::Symbolize
    - allocator_deallocator_virtual_cpu_matched::has_value
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - Counters::counts::push_back
    - std::move
    - EXPECT_EQ
    - EXPECT_TRUE
    - allocator_deallocator_thread_matched::has_value
    - allocator_deallocator_thread_matched::value
    - ASSERT_TRUE
    - allocator_deallocator_numa_matched::has_value
    - absl::SleepFor
    - SingleAlloc
    - SingleDealloc
    - absl::Microseconds
    - EXPECT_LE
    - allocator_deallocator_physical_cpu_matched::has_value
    - CheckerIsActive
    - Counters::counts::size
    - EXPECT_GE
    - allocator_deallocator_l3_matched::has_value
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, BasicCounterValues)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:635,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:643,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:645,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:646,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:648,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:649,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:650,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:656,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:661,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:662,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:666,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:683,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:686,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:687,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 689
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - EXPECT_GE
    - SingleAlloc
    - absl::Milliseconds
    - std::move
    - ASSERT_EQ
    - SingleDealloc
    - EXPECT_EQ
    - absl::Symbolize
    - absl::StrContains
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, RecordLiveAllocations)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:692,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:700,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:703,1
    - Dst: tcmalloc::MallocExtension::StartLifetimeProfiling
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:705,1
    - Dst: SingleAlloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:708,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:710,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:711,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:714,1
    - Dst: SingleDealloc
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:715,1
    - Dst: ASSERT_NO_FATAL_FAILURE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:719,1
    - Dst: tcmalloc::Profile::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:720,1
    - Dst: absl::Symbolize
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:725,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:726,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:738,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 747
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::Profile::Iterate
    - SingleAlloc
    - std::move
    - absl::Milliseconds
    - ASSERT_EQ
    - SingleDealloc
    - EXPECT_EQ
    - absl::Symbolize
    - absl::StrContains
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - CheckerIsActive
    - ASSERT_NO_FATAL_FAILURE
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(LifetimeProfiler, RecordCensoredAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LifetimeNsToBucketedDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:756,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:756,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:756,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:757,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:757,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:758,1
    - Dst: absl::Nanoseconds
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:758,1
    - Dst: BucketizeDuration
      Src: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc:758,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 767
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/deallocation_profiler_test.cc
    functionUses: 2
    functionsReached:
    - LifetimeNsToBucketedDuration
    - absl::Nanoseconds
    - BucketizeDuration
    - EXPECT_EQ
    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:
    - tcmalloc::MallocExtension::GetStats
    - absl::FPrintF
    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:
    - posix_memalign
    - TC_CHECK_EQ
    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:
    - capacity
    - data
    - resize
    - TCMalloc_Internal_GetStats
    - absl::string_view
    - erase
    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:
    - capacity
    - data
    - MallocExtension_Internal_GetStatsInPbtxt
    - resize
    - absl::string_view
    - erase
    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:
    - tcmalloc::LimitTest::malloc_pages
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::LimitTest::GetStatsInPbTxt
    - free
    - testing::UnitTest::GetInstance
    - exit
    - EXPECT_LE
    - ContainsRegex
    - absl::SNPrintF
    - testing::Test::HasFailure
    - EXPECT_THAT
    - AllOf
    - std::vector::push_back
    - HasSubstr
    - tcmalloc::LimitTest::physical_memory_used
    - DumpHeapStats
    - tcmalloc::LimitTest::GetStats
    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:
    - testing::ExitedWithCode
    - EXPECT_EXIT
    - LimitRespected
    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
    - tcmalloc::GetStatsInPbTxt
    - EXPECT_TRUE
    - ASSERT_DEATH
    - tcmalloc_internal::max
    - GetStats
    - absl::SNPrintF
    - tcmalloc::malloc_pages
    - absl::StrContains
    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:
    - tcmalloc::GetStatsInPbTxt
    - GetStats
    - static_cast<void*>
    - std::vector::pop_back
    - ASSERT_DEATH
    - TCMalloc_Internal_SetHPAASubrelease
    - EXPECT_FALSE
    - ::operator delete
    - EXPECT_THAT
    - std::vector::push_back
    - tcmalloc::DumpHeapStats
    - ::operator new
    - std::vector::back
    - std::vector::size
    - HasSubstr
    - TCMalloc_Internal_GetHPAASubrelease
    - tcmalloc::MallocExtension::SetMemoryLimit
    - std::vector::empty
    - tcmalloc_internal::max
    - absl::SNPrintF
    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_SetHPAASubrelease
    - ::operator delete
    - EXPECT_TRUE
    - ::operator new
    - TCMalloc_Internal_GetHPAASubrelease
    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:
    - reinterpret_cast<uintptr_t>
    - size
    - EXPECT_GE
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator delete
    - testing::UnitTest::GetInstance
    - exit
    - absl::flat_hash_map::reserve
    - resize
    - testing::Test::HasFailure
    - ::operator new
    - EXPECT_LT
    - push_back
    - tcmalloc::MallocExtension::GetNumericProperty
    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
    - EXPECT_EXIT
    - LimitChangeTriggersReleaseSmallAllocs
    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:
    - EXPECT_GE
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator delete
    - testing::UnitTest::GetInstance
    - exit
    - testing::Test::HasFailure
    - ::operator new
    - EXPECT_LT
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - testing::ExitedWithCode
    - LimitChangeTriggersReleaseLargeAllocs
    - 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
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    - exit
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - ExceedingSoftLimitDoesntCrashWithHardLimit
    - testing::ExitedWithCode
    - 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:
    - tcmalloc::MallocExtension::GetStats
    - absl::FPrintF
    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:
    - posix_memalign
    - TC_CHECK_EQ
    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:
    - capacity
    - data
    - resize
    - TCMalloc_Internal_GetStats
    - absl::string_view
    - erase
    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:
    - capacity
    - data
    - MallocExtension_Internal_GetStatsInPbtxt
    - resize
    - absl::string_view
    - erase
    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:
    - tcmalloc::LimitTest::malloc_pages
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::LimitTest::GetStatsInPbTxt
    - free
    - testing::UnitTest::GetInstance
    - exit
    - EXPECT_LE
    - ContainsRegex
    - absl::SNPrintF
    - testing::Test::HasFailure
    - EXPECT_THAT
    - AllOf
    - std::vector::push_back
    - HasSubstr
    - tcmalloc::LimitTest::physical_memory_used
    - DumpHeapStats
    - tcmalloc::LimitTest::GetStats
    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:
    - testing::ExitedWithCode
    - EXPECT_EXIT
    - LimitRespected
    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
    - tcmalloc::GetStatsInPbTxt
    - EXPECT_TRUE
    - ASSERT_DEATH
    - tcmalloc_internal::max
    - GetStats
    - absl::SNPrintF
    - tcmalloc::malloc_pages
    - absl::StrContains
    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:
    - tcmalloc::GetStatsInPbTxt
    - GetStats
    - static_cast<void*>
    - std::vector::pop_back
    - ASSERT_DEATH
    - TCMalloc_Internal_SetHPAASubrelease
    - EXPECT_FALSE
    - ::operator delete
    - EXPECT_THAT
    - std::vector::push_back
    - tcmalloc::DumpHeapStats
    - ::operator new
    - std::vector::back
    - std::vector::size
    - HasSubstr
    - TCMalloc_Internal_GetHPAASubrelease
    - tcmalloc::MallocExtension::SetMemoryLimit
    - std::vector::empty
    - tcmalloc_internal::max
    - absl::SNPrintF
    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_SetHPAASubrelease
    - ::operator delete
    - EXPECT_TRUE
    - ::operator new
    - TCMalloc_Internal_GetHPAASubrelease
    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:
    - reinterpret_cast<uintptr_t>
    - size
    - EXPECT_GE
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator delete
    - testing::UnitTest::GetInstance
    - exit
    - absl::flat_hash_map::reserve
    - resize
    - testing::Test::HasFailure
    - ::operator new
    - EXPECT_LT
    - push_back
    - tcmalloc::MallocExtension::GetNumericProperty
    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
    - EXPECT_EXIT
    - LimitChangeTriggersReleaseSmallAllocs
    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:
    - EXPECT_GE
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator delete
    - testing::UnitTest::GetInstance
    - exit
    - testing::Test::HasFailure
    - ::operator new
    - EXPECT_LT
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - testing::ExitedWithCode
    - LimitChangeTriggersReleaseLargeAllocs
    - 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
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    - exit
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - ExceedingSoftLimitDoesntCrashWithHardLimit
    - testing::ExitedWithCode
    - 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:
    - tcmalloc::MallocExtension::GetStats
    - absl::FPrintF
    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:
    - posix_memalign
    - TC_CHECK_EQ
    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:
    - capacity
    - data
    - resize
    - TCMalloc_Internal_GetStats
    - absl::string_view
    - erase
    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:
    - capacity
    - data
    - MallocExtension_Internal_GetStatsInPbtxt
    - resize
    - absl::string_view
    - erase
    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:
    - tcmalloc::LimitTest::malloc_pages
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::LimitTest::GetStatsInPbTxt
    - free
    - testing::UnitTest::GetInstance
    - exit
    - EXPECT_LE
    - ContainsRegex
    - absl::SNPrintF
    - testing::Test::HasFailure
    - EXPECT_THAT
    - AllOf
    - std::vector::push_back
    - HasSubstr
    - tcmalloc::LimitTest::physical_memory_used
    - DumpHeapStats
    - tcmalloc::LimitTest::GetStats
    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:
    - testing::ExitedWithCode
    - EXPECT_EXIT
    - LimitRespected
    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
    - tcmalloc::GetStatsInPbTxt
    - EXPECT_TRUE
    - ASSERT_DEATH
    - tcmalloc_internal::max
    - GetStats
    - absl::SNPrintF
    - tcmalloc::malloc_pages
    - absl::StrContains
    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:
    - tcmalloc::GetStatsInPbTxt
    - GetStats
    - static_cast<void*>
    - std::vector::pop_back
    - ASSERT_DEATH
    - TCMalloc_Internal_SetHPAASubrelease
    - EXPECT_FALSE
    - ::operator delete
    - EXPECT_THAT
    - std::vector::push_back
    - tcmalloc::DumpHeapStats
    - ::operator new
    - std::vector::back
    - std::vector::size
    - HasSubstr
    - TCMalloc_Internal_GetHPAASubrelease
    - tcmalloc::MallocExtension::SetMemoryLimit
    - std::vector::empty
    - tcmalloc_internal::max
    - absl::SNPrintF
    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_SetHPAASubrelease
    - ::operator delete
    - EXPECT_TRUE
    - ::operator new
    - TCMalloc_Internal_GetHPAASubrelease
    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:
    - reinterpret_cast<uintptr_t>
    - size
    - EXPECT_GE
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator delete
    - testing::UnitTest::GetInstance
    - exit
    - absl::flat_hash_map::reserve
    - resize
    - testing::Test::HasFailure
    - ::operator new
    - EXPECT_LT
    - push_back
    - tcmalloc::MallocExtension::GetNumericProperty
    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
    - EXPECT_EXIT
    - LimitChangeTriggersReleaseSmallAllocs
    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:
    - EXPECT_GE
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator delete
    - testing::UnitTest::GetInstance
    - exit
    - testing::Test::HasFailure
    - ::operator new
    - EXPECT_LT
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - testing::ExitedWithCode
    - LimitChangeTriggersReleaseLargeAllocs
    - 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
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    - exit
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - ExceedingSoftLimitDoesntCrashWithHardLimit
    - testing::ExitedWithCode
    - 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:
    - tcmalloc::MallocExtension::GetStats
    - absl::FPrintF
    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:
    - posix_memalign
    - TC_CHECK_EQ
    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:
    - capacity
    - data
    - resize
    - TCMalloc_Internal_GetStats
    - absl::string_view
    - erase
    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:
    - capacity
    - data
    - MallocExtension_Internal_GetStatsInPbtxt
    - resize
    - absl::string_view
    - erase
    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:
    - tcmalloc::LimitTest::malloc_pages
    - tcmalloc::MallocExtension::SetMemoryLimit
    - tcmalloc::LimitTest::GetStatsInPbTxt
    - free
    - testing::UnitTest::GetInstance
    - exit
    - EXPECT_LE
    - ContainsRegex
    - absl::SNPrintF
    - testing::Test::HasFailure
    - EXPECT_THAT
    - AllOf
    - std::vector::push_back
    - HasSubstr
    - tcmalloc::LimitTest::physical_memory_used
    - DumpHeapStats
    - tcmalloc::LimitTest::GetStats
    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:
    - testing::ExitedWithCode
    - EXPECT_EXIT
    - LimitRespected
    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
    - tcmalloc::GetStatsInPbTxt
    - EXPECT_TRUE
    - ASSERT_DEATH
    - tcmalloc_internal::max
    - GetStats
    - absl::SNPrintF
    - tcmalloc::malloc_pages
    - absl::StrContains
    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:
    - tcmalloc::GetStatsInPbTxt
    - GetStats
    - static_cast<void*>
    - std::vector::pop_back
    - ASSERT_DEATH
    - TCMalloc_Internal_SetHPAASubrelease
    - EXPECT_FALSE
    - ::operator delete
    - EXPECT_THAT
    - std::vector::push_back
    - tcmalloc::DumpHeapStats
    - ::operator new
    - std::vector::back
    - std::vector::size
    - HasSubstr
    - TCMalloc_Internal_GetHPAASubrelease
    - tcmalloc::MallocExtension::SetMemoryLimit
    - std::vector::empty
    - tcmalloc_internal::max
    - absl::SNPrintF
    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_SetHPAASubrelease
    - ::operator delete
    - EXPECT_TRUE
    - ::operator new
    - TCMalloc_Internal_GetHPAASubrelease
    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:
    - reinterpret_cast<uintptr_t>
    - size
    - EXPECT_GE
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator delete
    - testing::UnitTest::GetInstance
    - exit
    - absl::flat_hash_map::reserve
    - resize
    - testing::Test::HasFailure
    - ::operator new
    - EXPECT_LT
    - push_back
    - tcmalloc::MallocExtension::GetNumericProperty
    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
    - EXPECT_EXIT
    - LimitChangeTriggersReleaseSmallAllocs
    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:
    - EXPECT_GE
    - tcmalloc::MallocExtension::SetMemoryLimit
    - ::operator delete
    - testing::UnitTest::GetInstance
    - exit
    - testing::Test::HasFailure
    - ::operator new
    - EXPECT_LT
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - testing::ExitedWithCode
    - LimitChangeTriggersReleaseLargeAllocs
    - 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
    - ::operator delete
    - testing::Test::HasFailure
    - ::operator new
    - exit
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - ExceedingSoftLimitDoesntCrashWithHardLimit
    - testing::ExitedWithCode
    - 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:
    - ResizeSlabIfNeeded
    - RecordCacheMissStat
    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::GetBackgroundReleaseRate
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - static_cast<size_t>
    - EXPECT_EQ
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:145,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc::MallocExtension::GetProperties
    - testing::Ne
    - EXPECT_THAT
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:154,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:159,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:162,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      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: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - testing::Gt
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - GTEST_SKIP
    - 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::GetBackgroundReleaseRate
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - static_cast<size_t>
    - EXPECT_EQ
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:145,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc::MallocExtension::GetProperties
    - testing::Ne
    - EXPECT_THAT
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:154,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:159,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:162,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      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: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - testing::Gt
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - GTEST_SKIP
    - 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:
    - ResizeSlabIfNeeded
    - RecordCacheMissStat
    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::GetBackgroundReleaseRate
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - static_cast<size_t>
    - EXPECT_EQ
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:145,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc::MallocExtension::GetProperties
    - testing::Ne
    - EXPECT_THAT
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:154,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:159,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:162,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      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: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - testing::Gt
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - GTEST_SKIP
    - 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::GetBackgroundReleaseRate
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - static_cast<size_t>
    - EXPECT_EQ
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:145,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc::MallocExtension::GetProperties
    - testing::Ne
    - EXPECT_THAT
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:154,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:159,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:162,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      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: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - testing::Gt
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - GTEST_SKIP
    - 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:
    - ResizeSlabIfNeeded
    - RecordCacheMissStat
    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::GetBackgroundReleaseRate
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - static_cast<size_t>
    - EXPECT_EQ
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:145,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc::MallocExtension::GetProperties
    - testing::Ne
    - EXPECT_THAT
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:154,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:159,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:162,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      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: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - testing::Gt
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - GTEST_SKIP
    - 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::GetBackgroundReleaseRate
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - static_cast<size_t>
    - EXPECT_EQ
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:145,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc::MallocExtension::GetProperties
    - testing::Ne
    - EXPECT_THAT
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:154,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:159,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:162,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      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: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - testing::Gt
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - GTEST_SKIP
    - 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:
    - ResizeSlabIfNeeded
    - RecordCacheMissStat
    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::GetBackgroundReleaseRate
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - static_cast<size_t>
    - EXPECT_EQ
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:145,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc::MallocExtension::GetProperties
    - testing::Ne
    - EXPECT_THAT
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:154,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:159,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:162,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      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: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - testing::Gt
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - GTEST_SKIP
    - 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::GetBackgroundReleaseRate
    - tcmalloc::MallocExtension::SetBackgroundReleaseRate
    - static_cast<size_t>
    - EXPECT_EQ
    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:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SetSkipSubreleaseLongInterval
    - absl::ZeroDuration
    - tcmalloc::MallocExtension::SetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseShortInterval
    - tcmalloc::MallocExtension::GetSkipSubreleaseLongInterval
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SkipSubreleaseIntervals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProperties
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:88,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:94,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:145,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - deallocationz::DeallocationProfiler::DeallocationStackTraceTable::Key
    - tcmalloc::MallocExtension::GetProperties
    - testing::Ne
    - EXPECT_THAT
    - testing::Eq
    - tcmalloc_internal::StackTraceFilter::Contains
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, Properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CpuCacheActive
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:154,1
    - Dst: cpu_cache
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:159,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:161,1
    - Dst: tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:162,1
    - Dst: tcmalloc::MallocExtension::GetProperties
      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: testing::Field
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    - Dst: testing::Gt
      Src: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/malloc_extension_test.cc
    functionUses: 0
    functionsReached:
    - cpu_cache
    - testing::Gt
    - tcmalloc::tcmalloc_internal::CpuCachePeer::ResizeSlab
    - tcmalloc::MallocExtension::GetProperties
    - EXPECT_THAT
    - GTEST_SKIP
    - 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
    - strncpy
    - strncmp
    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
    - strncpy
    - strncmp
    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:
    - auto::value
    - absl::NullSafeStringView
    - EXPECT_TRUE
    - FindExperimentByName
    - auto::empty
    - IsExperimentActive
    - tcmalloc_internal::thread_safe_getenv
    - absl::StrSplit
    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:
    - reserve
    - absl::flat_hash_set::insert
    - assign
    - absl::string_view::find
    - EXPECT_THAT
    - absl::StartsWith
    - std::vector::resize
    - absl::string_view::substr
    - tcmalloc_internal::StackTraceFilter::Contains
    - 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:
    - EXPECT_EQ
    - ASSERT_EQ
    - GTEST_SUCCEED
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - syscall
    - tcmalloc_internal::thread_safe_getenv
    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:
    - auto::value
    - absl::NullSafeStringView
    - EXPECT_TRUE
    - FindExperimentByName
    - auto::empty
    - IsExperimentActive
    - tcmalloc_internal::thread_safe_getenv
    - absl::StrSplit
    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:
    - reserve
    - absl::flat_hash_set::insert
    - assign
    - absl::string_view::find
    - EXPECT_THAT
    - absl::StartsWith
    - std::vector::resize
    - absl::string_view::substr
    - tcmalloc_internal::StackTraceFilter::Contains
    - 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:
    - EXPECT_EQ
    - ASSERT_EQ
    - GTEST_SUCCEED
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - syscall
    - tcmalloc_internal::thread_safe_getenv
    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
    - strncpy
    - strncmp
    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
    - strncpy
    - strncmp
    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:
    - auto::value
    - absl::NullSafeStringView
    - EXPECT_TRUE
    - FindExperimentByName
    - auto::empty
    - IsExperimentActive
    - tcmalloc_internal::thread_safe_getenv
    - absl::StrSplit
    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:
    - reserve
    - absl::flat_hash_set::insert
    - assign
    - absl::string_view::find
    - EXPECT_THAT
    - absl::StartsWith
    - std::vector::resize
    - absl::string_view::substr
    - tcmalloc_internal::StackTraceFilter::Contains
    - 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:
    - EXPECT_EQ
    - ASSERT_EQ
    - GTEST_SUCCEED
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - syscall
    - tcmalloc_internal::thread_safe_getenv
    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:
    - auto::value
    - absl::NullSafeStringView
    - EXPECT_TRUE
    - FindExperimentByName
    - auto::empty
    - IsExperimentActive
    - tcmalloc_internal::thread_safe_getenv
    - absl::StrSplit
    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:
    - reserve
    - absl::flat_hash_set::insert
    - assign
    - absl::string_view::find
    - EXPECT_THAT
    - absl::StartsWith
    - std::vector::resize
    - absl::string_view::substr
    - tcmalloc_internal::StackTraceFilter::Contains
    - 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:
    - EXPECT_EQ
    - ASSERT_EQ
    - GTEST_SUCCEED
    - tcmalloc_internal::subtle::percpu::IsFast
    - GTEST_SKIP
    - syscall
    - tcmalloc_internal::thread_safe_getenv
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocVariant, GlibcRseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:47,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    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:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:60,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: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    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:66,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    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:76,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:79,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: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    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:91,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:92,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:95,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:98,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: tcmalloc::ScopedProfileSamplingInterval::ScopedProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    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:103,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: ~ScopedProfileSamplingInterval()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ::operator new
    - benchmark::DoNotOptimize
    linkageType: ''
    returnType: void
    signature: void ~ScopedProfileSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:119,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:120,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:125,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: tcmalloc::ScopedBackgroundProcessActionsEnabled::ScopedBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void ScopedBackgroundProcessActionsEnabled(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 131
    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:141,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: tcmalloc::ScopedBackgroundProcessSleepInterval::ScopedBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void ScopedBackgroundProcessSleepInterval(absl::Duration limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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:157,1
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: tcmalloc::ScopedResourceLimit::ScopedResourceLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - GetTestResourceLimit
    - SetTestResourceLimit
    linkageType: ''
    returnType: void
    signature: void ScopedResourceLimit(size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 161
    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:170,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::ScopedGuardedSamplingInterval::ScopedGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    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:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 176
    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: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    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: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    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:209,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    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:225,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:225,1
    - Dst: UnregisterRseq
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:230,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: tcmalloc::ScopedUnregisterRseq::ScopedUnregisterRseq
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - UnregisterRseq
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ScopedUnregisterRseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:236,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 237
    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: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    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: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: ~ScopedFakeCpuId()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ScopedFakeCpuId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:306,1
    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::LongJmpScope::LongJmpScope
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void LongJmpScope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: ~LongJmpScope()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LongJmpScope()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:314,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:314,1
    - Dst: longjmp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: tcmalloc::LongJmpScope::FuzzLogWriter
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - absl::string_view
    - longjmp
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void FuzzLogWriter(const char* msg, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:47,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    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:57,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:60,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: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    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:66,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    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:76,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:79,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: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    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:91,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:92,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:95,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:98,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: tcmalloc::ScopedProfileSamplingInterval::ScopedProfileSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - benchmark::DoNotOptimize
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    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:103,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:104,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: ~ScopedProfileSamplingInterval()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - ::operator new
    - benchmark::DoNotOptimize
    linkageType: ''
    returnType: void
    signature: void ~ScopedProfileSamplingInterval()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:119,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:120,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:125,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: tcmalloc::ScopedBackgroundProcessActionsEnabled::ScopedBackgroundProcessActionsEnabled
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
    - tcmalloc::MallocExtension::GetBackgroundProcessActionsEnabled
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void ScopedBackgroundProcessActionsEnabled(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessActionsEnabled
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 131
    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:141,1
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - absl::Duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: tcmalloc::ScopedBackgroundProcessSleepInterval::ScopedBackgroundProcessSleepInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
    - tcmalloc::MallocExtension::GetBackgroundProcessSleepInterval
    linkageType: ''
    returnType: void
    signature: void ScopedBackgroundProcessSleepInterval(absl::Duration limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetBackgroundProcessSleepInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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:157,1
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: tcmalloc::ScopedResourceLimit::ScopedResourceLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - GetTestResourceLimit
    - SetTestResourceLimit
    linkageType: ''
    returnType: void
    signature: void ScopedResourceLimit(size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetTestResourceLimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 161
    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:170,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - temporary_value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tcmalloc::ScopedGuardedSamplingInterval::ScopedGuardedSamplingInterval
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetGuardedSamplingInterval
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    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:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 176
    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: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    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: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    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:209,1
    - Dst: TC_BUG
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    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:225,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:225,1
    - Dst: UnregisterRseq
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:230,1
    - Dst: tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: tcmalloc::ScopedUnregisterRseq::ScopedUnregisterRseq
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::subtle::percpu::GetRealCpuUnsafe
    - UnregisterRseq
    - TC_CHECK
    - tcmalloc_internal::subtle::percpu::IsFast
    - TC_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ScopedUnregisterRseq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:236,1
    - Dst: tcmalloc_internal::subtle::percpu::IsFast
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 237
    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: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    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: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: ~ScopedFakeCpuId()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ScopedFakeCpuId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:306,1
    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::LongJmpScope::LongJmpScope
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void LongJmpScope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: ~LongJmpScope()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LongJmpScope()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:314,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:314,1
    - Dst: longjmp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: tcmalloc::LongJmpScope::FuzzLogWriter
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.h
    functionUses: 0
    functionsReached:
    - absl::string_view
    - longjmp
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void FuzzLogWriter(const char* msg, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:49,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:50,1
    - Dst: getrlimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:54,1
    - Dst: setrlimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: SetTestResourceLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 4
    functionsReached:
    - getrlimit
    - static_cast<int64_t>
    - tcmalloc_internal::max
    - setrlimit
    linkageType: ''
    returnType: void
    signature: void SetTestResourceLimit(size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:73,1
    - Dst: getrlimit
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: GetTestResourceLimit
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 2
    functionsReached:
    - getrlimit
    - TC_CHECK_EQ
    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: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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:92,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:94,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:95,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: tcmalloc::GetStatsInPbTxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 8
    functionsReached:
    - std::string::resize
    - TC_CHECK_LE
    - MallocExtension_Internal_GetStatsInPbtxt
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatsInPbTxt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:105,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:105,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:112,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    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:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 143
    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:147,1
    - Dst: tcmalloc::AndersonDarlingErrFix
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - z
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: tcmalloc::AndersonDarlingPValue
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::AndersonDarlingInf
    - tcmalloc::AndersonDarlingErrFix
    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:153,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:157,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - random_sample
    argTypes:
    - absl::Span<const double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: tcmalloc::AndersonDarlingStatistic
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const double>::size
    - std::log
    - static_cast<double>
    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:169,1
    - Dst: tcmalloc::AndersonDarlingPValue
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:170,1
    - Dst: absl::Span<const double>::size
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - random_sample
    argTypes:
    - absl::Span<const double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: tcmalloc::AndersonDarlingTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::AndersonDarlingStatistic
    - tcmalloc::AndersonDarlingPValue
    - absl::Span<const double>::size
    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: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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:92,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:94,1
    - Dst: TC_CHECK_LE
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:95,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: tcmalloc::GetStatsInPbTxt
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 8
    functionsReached:
    - std::string::resize
    - TC_CHECK_LE
    - MallocExtension_Internal_GetStatsInPbtxt
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatsInPbTxt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:105,1
    - Dst: sqrt
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:105,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:112,1
    - Dst: exp
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    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:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 143
    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:147,1
    - Dst: tcmalloc::AndersonDarlingErrFix
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - z
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: tcmalloc::AndersonDarlingPValue
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::AndersonDarlingInf
    - tcmalloc::AndersonDarlingErrFix
    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:153,1
    - Dst: std::log
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:157,1
    - Dst: static_cast<double>
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - random_sample
    argTypes:
    - absl::Span<const double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: tcmalloc::AndersonDarlingStatistic
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 1
    functionsReached:
    - absl::Span<const double>::size
    - std::log
    - static_cast<double>
    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:169,1
    - Dst: tcmalloc::AndersonDarlingPValue
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:170,1
    - Dst: absl::Span<const double>::size
      Src: /src/tcmalloc/tcmalloc/testing/testutil.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - random_sample
    argTypes:
    - absl::Span<const double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: tcmalloc::AndersonDarlingTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/testutil.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::AndersonDarlingStatistic
    - tcmalloc::AndersonDarlingPValue
    - absl::Span<const double>::size
    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:
    - static_cast<int>
    - EXPECT_EQ
    - absl::LogUniform<int>
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ::operator delete
    - SCOPED_TRACE
    - Profile::Iterate
    - ::operator new
    - std::vector::push_back
    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:
    - std::move
    - EXPECT_EQ
    - absl::LogUniform<int>
    - ::operator delete
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - Profile::Iterate
    - ::operator new
    - std::vector::push_back
    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:
    - static_cast<int>
    - EXPECT_EQ
    - absl::LogUniform<int>
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ::operator delete
    - SCOPED_TRACE
    - Profile::Iterate
    - ::operator new
    - std::vector::push_back
    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:
    - std::move
    - EXPECT_EQ
    - absl::LogUniform<int>
    - ::operator delete
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - Profile::Iterate
    - ::operator new
    - std::vector::push_back
    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:
    - static_cast<int>
    - EXPECT_EQ
    - absl::LogUniform<int>
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ::operator delete
    - SCOPED_TRACE
    - Profile::Iterate
    - ::operator new
    - std::vector::push_back
    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:
    - std::move
    - EXPECT_EQ
    - absl::LogUniform<int>
    - ::operator delete
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - Profile::Iterate
    - ::operator new
    - std::vector::push_back
    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:
    - static_cast<int>
    - EXPECT_EQ
    - absl::LogUniform<int>
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ::operator delete
    - SCOPED_TRACE
    - Profile::Iterate
    - ::operator new
    - std::vector::push_back
    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:
    - std::move
    - EXPECT_EQ
    - absl::LogUniform<int>
    - ::operator delete
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - Profile::Iterate
    - ::operator new
    - std::vector::push_back
    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:
    - load
    - EXPECT_TRUE
    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:
    - absl::BlockingCounter::Wait
    - load
    - func
    - absl::BlockingCounter::DecrementCount
    - emplace_back
    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:
    - store
    - join
    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:
    - load
    - EXPECT_TRUE
    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:
    - absl::BlockingCounter::Wait
    - load
    - func
    - absl::BlockingCounter::DecrementCount
    - emplace_back
    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:
    - store
    - join
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:63,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:69,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: __alloc_token_0__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: __alloc_token_1__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:80,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:90,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,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:108,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:110,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:112,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:136,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:142,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:160,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:163,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:165,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:170,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:172,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:204,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:226,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:228,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:231,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:236,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - Marshal
    - EXPECT_GT
    - tcmalloc::MallocExtension::SnapshotCurrent
    - free
    - perftools::profiles::Profile::location
    - SCOPED_TRACE
    - absl::string_view::size
    - std::vector::reserve
    - auto*::mapping_id
    - EXPECT_EQ
    - ::operator delete
    - __alloc_token_0__ZnwmRKSt9nothrow_t
    - EXPECT_TRUE
    - EXPECT_FALSE
    - __size_returning_new
    - std::vector::emplace_back
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::flat_hash_map::contains
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - __alloc_token_1__ZnwmRKSt9nothrow_t
    - absl::flat_hash_set::insert
    - static_cast<int>
    - mapping_id
    - aligned_alloc
    - GTEST_FAIL
    - std::optional::has_value
    - id
    - ASSERT_NE
    - num
    - key
    - has_value
    - ::operator new
    - absl::flat_hash_set::contains
    - GTEST_SKIP
    - location_id
    - label
    - perftools::profiles::Profile::sample
    - EXPECT_GE
    - ASSERT_LT
    - perftools::profiles::Profile::string_table
    - perftools::profiles::Profile::DebugString
    - value
    - absl::flat_hash_map::reserve
    - absl::flat_hash_map::insert
    - auto*::filename
    - str
    - perftools::profiles::Profile::mapping
    - malloc
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:63,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:69,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: __alloc_token_0__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: __alloc_token_1__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:80,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:90,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,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:108,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:110,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:112,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:136,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:142,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:160,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:163,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:165,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:170,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:172,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:204,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:226,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:228,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:231,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:236,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - Marshal
    - EXPECT_GT
    - tcmalloc::MallocExtension::SnapshotCurrent
    - free
    - perftools::profiles::Profile::location
    - SCOPED_TRACE
    - absl::string_view::size
    - std::vector::reserve
    - auto*::mapping_id
    - EXPECT_EQ
    - ::operator delete
    - __alloc_token_0__ZnwmRKSt9nothrow_t
    - EXPECT_TRUE
    - EXPECT_FALSE
    - __size_returning_new
    - std::vector::emplace_back
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::flat_hash_map::contains
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - __alloc_token_1__ZnwmRKSt9nothrow_t
    - absl::flat_hash_set::insert
    - static_cast<int>
    - mapping_id
    - aligned_alloc
    - GTEST_FAIL
    - std::optional::has_value
    - id
    - ASSERT_NE
    - num
    - key
    - has_value
    - ::operator new
    - absl::flat_hash_set::contains
    - GTEST_SKIP
    - location_id
    - label
    - perftools::profiles::Profile::sample
    - EXPECT_GE
    - ASSERT_LT
    - perftools::profiles::Profile::string_table
    - perftools::profiles::Profile::DebugString
    - value
    - absl::flat_hash_map::reserve
    - absl::flat_hash_map::insert
    - auto*::filename
    - str
    - perftools::profiles::Profile::mapping
    - malloc
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:63,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:69,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: __alloc_token_0__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: __alloc_token_1__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:80,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:90,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,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:108,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:110,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:112,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:136,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:142,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:160,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:163,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:165,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:170,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:172,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:204,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:226,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:228,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:231,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:236,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - Marshal
    - EXPECT_GT
    - tcmalloc::MallocExtension::SnapshotCurrent
    - free
    - perftools::profiles::Profile::location
    - SCOPED_TRACE
    - absl::string_view::size
    - std::vector::reserve
    - auto*::mapping_id
    - EXPECT_EQ
    - ::operator delete
    - __alloc_token_0__ZnwmRKSt9nothrow_t
    - EXPECT_TRUE
    - EXPECT_FALSE
    - __size_returning_new
    - std::vector::emplace_back
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::flat_hash_map::contains
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - __alloc_token_1__ZnwmRKSt9nothrow_t
    - absl::flat_hash_set::insert
    - static_cast<int>
    - mapping_id
    - aligned_alloc
    - GTEST_FAIL
    - std::optional::has_value
    - id
    - ASSERT_NE
    - num
    - key
    - has_value
    - ::operator new
    - absl::flat_hash_set::contains
    - GTEST_SKIP
    - location_id
    - label
    - perftools::profiles::Profile::sample
    - EXPECT_GE
    - ASSERT_LT
    - perftools::profiles::Profile::string_table
    - perftools::profiles::Profile::DebugString
    - value
    - absl::flat_hash_map::reserve
    - absl::flat_hash_map::insert
    - auto*::filename
    - str
    - perftools::profiles::Profile::mapping
    - malloc
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:63,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:69,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: __alloc_token_0__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: __alloc_token_1__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:80,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:90,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,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:108,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:110,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:112,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:136,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:142,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:160,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:163,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:165,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:170,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:172,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:204,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:226,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:228,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:231,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:236,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - Marshal
    - EXPECT_GT
    - tcmalloc::MallocExtension::SnapshotCurrent
    - free
    - perftools::profiles::Profile::location
    - SCOPED_TRACE
    - absl::string_view::size
    - std::vector::reserve
    - auto*::mapping_id
    - EXPECT_EQ
    - ::operator delete
    - __alloc_token_0__ZnwmRKSt9nothrow_t
    - EXPECT_TRUE
    - EXPECT_FALSE
    - __size_returning_new
    - std::vector::emplace_back
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::flat_hash_map::contains
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - __alloc_token_1__ZnwmRKSt9nothrow_t
    - absl::flat_hash_set::insert
    - static_cast<int>
    - mapping_id
    - aligned_alloc
    - GTEST_FAIL
    - std::optional::has_value
    - id
    - ASSERT_NE
    - num
    - key
    - has_value
    - ::operator new
    - absl::flat_hash_set::contains
    - GTEST_SKIP
    - location_id
    - label
    - perftools::profiles::Profile::sample
    - EXPECT_GE
    - ASSERT_LT
    - perftools::profiles::Profile::string_table
    - perftools::profiles::Profile::DebugString
    - value
    - absl::flat_hash_map::reserve
    - absl::flat_hash_map::insert
    - auto*::filename
    - str
    - perftools::profiles::Profile::mapping
    - malloc
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:63,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:69,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: __alloc_token_0__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: __alloc_token_1__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:80,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:90,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,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:108,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:110,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:112,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:136,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:142,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:160,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:163,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:165,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:170,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:172,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:204,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:226,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:228,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:231,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:236,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - Marshal
    - EXPECT_GT
    - tcmalloc::MallocExtension::SnapshotCurrent
    - free
    - perftools::profiles::Profile::location
    - SCOPED_TRACE
    - absl::string_view::size
    - std::vector::reserve
    - auto*::mapping_id
    - EXPECT_EQ
    - ::operator delete
    - __alloc_token_0__ZnwmRKSt9nothrow_t
    - EXPECT_TRUE
    - EXPECT_FALSE
    - __size_returning_new
    - std::vector::emplace_back
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::flat_hash_map::contains
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - __alloc_token_1__ZnwmRKSt9nothrow_t
    - absl::flat_hash_set::insert
    - static_cast<int>
    - mapping_id
    - aligned_alloc
    - GTEST_FAIL
    - std::optional::has_value
    - id
    - ASSERT_NE
    - num
    - key
    - has_value
    - ::operator new
    - absl::flat_hash_set::contains
    - GTEST_SKIP
    - location_id
    - label
    - perftools::profiles::Profile::sample
    - EXPECT_GE
    - ASSERT_LT
    - perftools::profiles::Profile::string_table
    - perftools::profiles::Profile::DebugString
    - value
    - absl::flat_hash_map::reserve
    - absl::flat_hash_map::insert
    - auto*::filename
    - str
    - perftools::profiles::Profile::mapping
    - malloc
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:63,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:69,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: __alloc_token_0__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: __alloc_token_1__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:80,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:90,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,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:108,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:110,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:112,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:136,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:142,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:160,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:163,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:165,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:170,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:172,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:204,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:226,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:228,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:231,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:236,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - Marshal
    - EXPECT_GT
    - tcmalloc::MallocExtension::SnapshotCurrent
    - free
    - perftools::profiles::Profile::location
    - SCOPED_TRACE
    - absl::string_view::size
    - std::vector::reserve
    - auto*::mapping_id
    - EXPECT_EQ
    - ::operator delete
    - __alloc_token_0__ZnwmRKSt9nothrow_t
    - EXPECT_TRUE
    - EXPECT_FALSE
    - __size_returning_new
    - std::vector::emplace_back
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::flat_hash_map::contains
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - __alloc_token_1__ZnwmRKSt9nothrow_t
    - absl::flat_hash_set::insert
    - static_cast<int>
    - mapping_id
    - aligned_alloc
    - GTEST_FAIL
    - std::optional::has_value
    - id
    - ASSERT_NE
    - num
    - key
    - has_value
    - ::operator new
    - absl::flat_hash_set::contains
    - GTEST_SKIP
    - location_id
    - label
    - perftools::profiles::Profile::sample
    - EXPECT_GE
    - ASSERT_LT
    - perftools::profiles::Profile::string_table
    - perftools::profiles::Profile::DebugString
    - value
    - absl::flat_hash_map::reserve
    - absl::flat_hash_map::insert
    - auto*::filename
    - str
    - perftools::profiles::Profile::mapping
    - malloc
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:63,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:69,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: __alloc_token_0__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: __alloc_token_1__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:80,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:90,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,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:108,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:110,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:112,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:136,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:142,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:160,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:163,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:165,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:170,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:172,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:204,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:226,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:228,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:231,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:236,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - Marshal
    - EXPECT_GT
    - tcmalloc::MallocExtension::SnapshotCurrent
    - free
    - perftools::profiles::Profile::location
    - SCOPED_TRACE
    - absl::string_view::size
    - std::vector::reserve
    - auto*::mapping_id
    - EXPECT_EQ
    - ::operator delete
    - __alloc_token_0__ZnwmRKSt9nothrow_t
    - EXPECT_TRUE
    - EXPECT_FALSE
    - __size_returning_new
    - std::vector::emplace_back
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::flat_hash_map::contains
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - __alloc_token_1__ZnwmRKSt9nothrow_t
    - absl::flat_hash_set::insert
    - static_cast<int>
    - mapping_id
    - aligned_alloc
    - GTEST_FAIL
    - std::optional::has_value
    - id
    - ASSERT_NE
    - num
    - key
    - has_value
    - ::operator new
    - absl::flat_hash_set::contains
    - GTEST_SKIP
    - location_id
    - label
    - perftools::profiles::Profile::sample
    - EXPECT_GE
    - ASSERT_LT
    - perftools::profiles::Profile::string_table
    - perftools::profiles::Profile::DebugString
    - value
    - absl::flat_hash_map::reserve
    - absl::flat_hash_map::insert
    - auto*::filename
    - str
    - perftools::profiles::Profile::mapping
    - malloc
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(ProfileTest, HeapProfile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:53,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:63,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:69,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:71,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:72,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:73,1
    - Dst: __alloc_token_0__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:75,1
    - Dst: __alloc_token_1__ZnwmRKSt9nothrow_t
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:77,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:80,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:82,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:84,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:85,1
    - Dst: tcmalloc::MallocExtension::SnapshotCurrent
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:90,1
    - Dst: Marshal
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::StatusOr::ok
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,1
    - Dst: perftools::profiles::Profile::ParseFromCodedStream
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:101,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:108,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:110,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:112,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:114,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:116,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:118,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:131,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:136,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:137,1
    - Dst: value
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:138,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:142,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:143,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:150,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:151,1
    - Dst: label
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:158,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:160,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:163,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:165,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:167,1
    - Dst: GTEST_FAIL
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:170,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:171,1
    - Dst: str
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:172,1
    - Dst: key
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:174,1
    - Dst: num
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:175,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:181,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: perftools::profiles::Profile::DebugString
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:200,1
    - Dst: absl::flat_hash_map::reserve
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:203,1
    - Dst: perftools::profiles::Profile::mapping
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:204,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:205,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:206,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: absl::flat_hash_map::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:212,1
    - Dst: perftools::profiles::Profile::sample
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:218,1
    - Dst: location_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:222,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:226,1
    - Dst: auto*::mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:227,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:228,1
    - Dst: ASSERT_LT
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:229,1
    - Dst: perftools::profiles::Profile::string_table
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: auto*::filename
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:230,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:231,1
    - Dst: perftools::profiles::Profile::location
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:236,1
    - Dst: absl::flat_hash_set::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:237,1
    - Dst: mapping_id
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    - Dst: absl::flat_hash_map::contains
      Src: /src/tcmalloc/tcmalloc/testing/profile_test.cc:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 243
    functionName: tcmalloc::tcmalloc_internal::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_test.cc
    functionUses: 0
    functionsReached:
    - Marshal
    - EXPECT_GT
    - tcmalloc::MallocExtension::SnapshotCurrent
    - free
    - perftools::profiles::Profile::location
    - SCOPED_TRACE
    - absl::string_view::size
    - std::vector::reserve
    - auto*::mapping_id
    - EXPECT_EQ
    - ::operator delete
    - __alloc_token_0__ZnwmRKSt9nothrow_t
    - EXPECT_TRUE
    - EXPECT_FALSE
    - __size_returning_new
    - std::vector::emplace_back
    - perftools::profiles::Profile::ParseFromCodedStream
    - absl::flat_hash_map::contains
    - absl::string_view::data
    - ASSERT_TRUE
    - absl::StatusOr::ok
    - __alloc_token_1__ZnwmRKSt9nothrow_t
    - absl::flat_hash_set::insert
    - static_cast<int>
    - mapping_id
    - aligned_alloc
    - GTEST_FAIL
    - std::optional::has_value
    - id
    - ASSERT_NE
    - num
    - key
    - has_value
    - ::operator new
    - absl::flat_hash_set::contains
    - GTEST_SKIP
    - location_id
    - label
    - perftools::profiles::Profile::sample
    - EXPECT_GE
    - ASSERT_LT
    - perftools::profiles::Profile::string_table
    - perftools::profiles::Profile::DebugString
    - value
    - absl::flat_hash_map::reserve
    - absl::flat_hash_map::insert
    - auto*::filename
    - str
    - perftools::profiles::Profile::mapping
    - malloc
    - absl::StrContains
    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:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    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:
    - absl::LogUniform
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - aligned_alloc
    - free
    - absl::Uniform
    - realloc
    - std::vector::emplace_back
    - ASSERT_TRUE
    - static_cast<size_t>
    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:
    - tcmalloc::CheckAlignment
    - EXPECT_EQ
    - aligned_alloc
    - tcmalloc::Valid
    - free
    - ASSERT_NE
    - tcmalloc::SizesWithAlignment
    - tcmalloc::Fill
    - ASSERT_TRUE
    - malloc
    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::CheckAlignment
    - tcmalloc::Valid
    - free
    - tcmalloc::SizesWithAlignment
    - tcmalloc::Fill
    - memalign
    - ASSERT_TRUE
    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::CheckAlignment
    - ASSERT_EQ
    - tcmalloc::Valid
    - free
    - tcmalloc::SizesWithAlignment
    - posix_memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - posix_memalign
    - malloc
    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_internal::GetPageSize
    - tcmalloc::CheckAlignment
    - tcmalloc::Valid
    - free
    - valloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    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_internal::GetPageSize
    - tcmalloc::CheckAlignment
    - tcmalloc::Valid
    - free
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - pvalloc
    - ASSERT_TRUE
    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:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    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:
    - absl::LogUniform
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - aligned_alloc
    - free
    - absl::Uniform
    - realloc
    - std::vector::emplace_back
    - ASSERT_TRUE
    - static_cast<size_t>
    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:
    - tcmalloc::CheckAlignment
    - EXPECT_EQ
    - aligned_alloc
    - tcmalloc::Valid
    - free
    - ASSERT_NE
    - tcmalloc::SizesWithAlignment
    - tcmalloc::Fill
    - ASSERT_TRUE
    - malloc
    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::CheckAlignment
    - tcmalloc::Valid
    - free
    - tcmalloc::SizesWithAlignment
    - tcmalloc::Fill
    - memalign
    - ASSERT_TRUE
    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::CheckAlignment
    - ASSERT_EQ
    - tcmalloc::Valid
    - free
    - tcmalloc::SizesWithAlignment
    - posix_memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - posix_memalign
    - malloc
    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_internal::GetPageSize
    - tcmalloc::CheckAlignment
    - tcmalloc::Valid
    - free
    - valloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    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_internal::GetPageSize
    - tcmalloc::CheckAlignment
    - tcmalloc::Valid
    - free
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - pvalloc
    - ASSERT_TRUE
    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:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    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:
    - absl::LogUniform
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - aligned_alloc
    - free
    - absl::Uniform
    - realloc
    - std::vector::emplace_back
    - ASSERT_TRUE
    - static_cast<size_t>
    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:
    - tcmalloc::CheckAlignment
    - EXPECT_EQ
    - aligned_alloc
    - tcmalloc::Valid
    - free
    - ASSERT_NE
    - tcmalloc::SizesWithAlignment
    - tcmalloc::Fill
    - ASSERT_TRUE
    - malloc
    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::CheckAlignment
    - tcmalloc::Valid
    - free
    - tcmalloc::SizesWithAlignment
    - tcmalloc::Fill
    - memalign
    - ASSERT_TRUE
    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::CheckAlignment
    - ASSERT_EQ
    - tcmalloc::Valid
    - free
    - tcmalloc::SizesWithAlignment
    - posix_memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - posix_memalign
    - malloc
    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_internal::GetPageSize
    - tcmalloc::CheckAlignment
    - tcmalloc::Valid
    - free
    - valloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    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_internal::GetPageSize
    - tcmalloc::CheckAlignment
    - tcmalloc::Valid
    - free
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - pvalloc
    - ASSERT_TRUE
    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:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    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:
    - absl::LogUniform
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - aligned_alloc
    - free
    - absl::Uniform
    - realloc
    - std::vector::emplace_back
    - ASSERT_TRUE
    - static_cast<size_t>
    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:
    - tcmalloc::CheckAlignment
    - EXPECT_EQ
    - aligned_alloc
    - tcmalloc::Valid
    - free
    - ASSERT_NE
    - tcmalloc::SizesWithAlignment
    - tcmalloc::Fill
    - ASSERT_TRUE
    - malloc
    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::CheckAlignment
    - tcmalloc::Valid
    - free
    - tcmalloc::SizesWithAlignment
    - tcmalloc::Fill
    - memalign
    - ASSERT_TRUE
    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::CheckAlignment
    - ASSERT_EQ
    - tcmalloc::Valid
    - free
    - tcmalloc::SizesWithAlignment
    - posix_memalign
    - tcmalloc::Fill
    - ASSERT_TRUE
    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:
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - posix_memalign
    - malloc
    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_internal::GetPageSize
    - tcmalloc::CheckAlignment
    - tcmalloc::Valid
    - free
    - valloc
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - ASSERT_TRUE
    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_internal::GetPageSize
    - tcmalloc::CheckAlignment
    - tcmalloc::Valid
    - free
    - tcmalloc::NextSize
    - tcmalloc::Fill
    - pvalloc
    - ASSERT_TRUE
    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: 8
    functionsReached:
    - tcmalloc::MallocExtension::GetStats
    - printf
    - absl::StrContains
    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:124,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:125,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:126,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:127,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:128,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:129,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - ::operator new
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, EmptyAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:136,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    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:168,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:168,1
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:170,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:177,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:179,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:180,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 186
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - memset
    - free
    - SCOPED_TRACE
    - benchmark::DoNotOptimize
    - calloc
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, Calloc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:191,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:204,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:211,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:212,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:214,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:217,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_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:226,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:232,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:233,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:241,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 247
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ASSERT_GT
    - ASSERT_EQ
    - free
    - ASSERT_NE
    - realloc
    - absl::bit_cast<intptr_t>
    - benchmark::DoNotOptimize
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, Realloc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:262,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:269,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:270,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:272,1
    - Dst: reallocarray
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:275,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:276,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:284,1
    - Dst: reallocarray
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:290,1
    - Dst: absl::bit_cast<intptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:291,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:292,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:299,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 305
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ASSERT_EQ
    - free
    - reallocarray
    - ASSERT_NE
    - absl::bit_cast<intptr_t>
    - benchmark::DoNotOptimize
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, ReallocArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:323,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:323,1
    - Dst: reallocarray
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:325,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 330
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - reallocarray
    - SCOPED_TRACE
    - benchmark::DoNotOptimize
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, ReallocArrayOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:335,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:339,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:339,1
    - Dst: memcpy
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:342,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:344,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:345,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:347,1
    - Dst: memcmp
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:347,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 350
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - ASSERT_EQ
    - memset
    - memcpy
    - memcmp
    - free
    - ASSERT_NE
    - realloc
    - posix_memalign
    - memalign
    linkageType: ''
    returnType: void
    signature: void TEST(TcmallocTest, MemalignRealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadManager::Start
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:357,1
    - Dst: AllocatorHarness::Run
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:357,1
    - Dst: absl::SleepFor
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:359,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:359,1
    - Dst: ThreadManager::Stop
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 362
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - ThreadManager::Stop
    - ThreadManager::Start
    - AllocatorHarness::Run
    - absl::SleepFor
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, Multithreaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:370,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:373,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:373,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 379
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - ::operator new
    - std::vector::reserve
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, HugeThreadCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:386,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:390,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:395,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:398,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:399,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:400,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:402,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:404,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:405,1
    - Dst: absl::has_single_bit
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:405,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:406,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:407,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:414,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:415,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:416,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:417,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:422,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:423,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:424,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:425,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:430,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 431
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - absl::has_single_bit
    - EXPECT_EQ
    - ASSERT_EQ
    - ::operator delete
    - free
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::max
    - ASSERT_NE
    - absl::Uniform
    - static_cast<std::align_val_t>
    - posix_memalign
    - ::operator new
    - benchmark::DoNotOptimize
    - ASSERT_TRUE
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, EnormousAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:435,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:436,1
    - Dst: std::optional::has_value
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: GetUnmappedBytes
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK
    - std::optional::has_value
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: size_t
    signature: size_t GetUnmappedBytes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::want_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:443,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:448,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:449,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:450,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:450,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:451,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:454,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:455,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:455,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:459,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:459,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:461,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:464,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:465,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:465,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:468,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:469,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:469,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:471,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:475,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:475,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:479,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:479,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:482,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:483,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:483,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:485,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:487,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:487,1
    - Dst: tcmalloc::MallocExtension::ReleaseMemoryToSystem
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:491,1
    - Dst: GetUnmappedBytes
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 492
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - ::operator delete
    - tcmalloc::MallocExtension::ReleaseMemoryToSystem
    - tcmalloc_internal::max
    - ::operator new
    - tcmalloc::want_hpaa
    - GetUnmappedBytes
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, ReleaseMemoryToSystem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc_trim
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 494
    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:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 511
    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:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 535
    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: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    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:542,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:543,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:544,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:546,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:550,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:551,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:552,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 560
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - free
    - static_cast<size_t>
    - malloc
    - ABSL_ARRAYSIZE
    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:567,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:568,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:569,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:571,1
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:575,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:576,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:577,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 585
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - free
    - calloc
    - static_cast<size_t>
    - ABSL_ARRAYSIZE
    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:592,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:593,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:594,1
    - Dst: ABSL_ARRAYSIZE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:596,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:600,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:601,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:602,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:605,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:611,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:612,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 621
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - free
    - realloc
    - static_cast<size_t>
    - malloc
    - ABSL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, ReallocAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:635,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:636,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:636,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:638,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:639,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:640,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:640,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:641,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:642,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:645,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:646,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 651
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - absl::LogUniform
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - absl::Bernoulli
    - ::operator delete
    - ASSERT_NE
    - absl::Uniform
    - std::vector::emplace_back
    - static_cast<std::align_val_t>
    - ::operator new
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, AlignedNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:665,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:666,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:666,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:668,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:669,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:670,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:670,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:671,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:672,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:675,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:676,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 681
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - absl::LogUniform
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - absl::Bernoulli
    - ASSERT_NE
    - absl::Uniform
    - std::vector::emplace_back
    - static_cast<std::align_val_t>
    - ::operator new[]
    - ::operator delete[]
    - static_cast<size_t>
    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:688,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:688,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:691,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:692,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:693,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:696,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:698,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:698,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:699,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:700,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:701,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:702,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:702,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 705
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - absl::LogUniform
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - ::operator delete
    - ASSERT_NE
    - absl::Uniform
    - static_cast<std::align_val_t>
    - ::operator new
    - benchmark::DoNotOptimize
    - static_cast<size_t>
    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:712,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:712,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:715,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:716,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:717,1
    - Dst: absl::LogUniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:720,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:722,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:722,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:723,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:724,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:725,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:726,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:726,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 729
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - absl::LogUniform
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - ASSERT_NE
    - absl::Uniform
    - static_cast<std::align_val_t>
    - ::operator new[]
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - static_cast<size_t>
    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:736,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:737,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:738,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:739,1
    - Dst: std::make_pair
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:739,1
    - Dst: std::vector::begin
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:742,1
    - Dst: std::vector::end
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:743,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 746
    functionName: CheckSizedDelete
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::vector::end
    - absl::LogUniform<int32_t>
    - ::operator delete
    - std::vector::begin
    - ASSERT_NE
    - ::operator new
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void CheckSizedDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckSizedDelete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 748
    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:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 753
    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:759,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:760,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:760,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::MallocExtension::GetAllocatedSize
    - free
    - malloc
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, SampleAllocatedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:767,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: GlobalNallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GE
    - nallocx
    linkageType: ''
    returnType: void
    signature: void GlobalNallocx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:773,1
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 773
    functionName: check_global_nallocx
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - TC_CHECK_GE
    - nallocx
    linkageType: ''
    returnType: void
    signature: void check_global_nallocx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:782,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:783,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:785,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: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 791
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - operator new
    - ASSERT_EQ
    - nallocx
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ASSERT_GE
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, nallocx)
  - BBCount: 65
    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:807,1
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:809,1
    - Dst: std::max<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:811,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:813,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:813,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:814,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:821,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:822,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:823,1
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:824,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:830,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:831,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:832,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:833,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:839,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:840,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:841,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:842,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:843,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:844,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:850,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:851,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:852,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:853,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:854,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:855,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:859,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:860,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:861,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:862,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:863,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:868,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:869,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:870,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:871,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:872,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:880,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:881,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:886,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:888,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:888,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:897,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:899,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:900,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:900,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:901,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:902,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:904,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:913,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:914,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:919,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:921,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:921,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:931,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:932,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:933,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:933,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:934,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:935,1
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:936,1
    - Dst: MALLOCX_LG_ALIGN
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:936,1
    - Dst: alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:943,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:944,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:945,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:947,1
    - Dst: static_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:947,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:948,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:949,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:951,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:951,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:953,1
    - Dst: static_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:953,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:957,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:958,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:958,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:959,1
    - Dst: aligned_alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:967,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:969,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:970,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:970,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:971,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:972,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:973,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:975,1
    - Dst: absl::SNPrintF
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:987,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:988,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:991,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:996,1
    - Dst: remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:997,1
    - Dst: find_first_not_of
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:999,1
    - Dst: remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1001,1
    - Dst: find
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1004,1
    - Dst: remove_suffix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1006,1
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1006,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1010,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1018,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1020,1
    - Dst: ParseLowLevelAllocator
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1022,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1023,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1023,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1024,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1026,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1029,1
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1039,1
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1040,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1043,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1049,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1058,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1059,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1068,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1069,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1070,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1082,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1082,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1083,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1083,1
    - Dst: std::get<2>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1084,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1084,1
    - Dst: IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1085,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1099,1
    - Dst: tcmalloc_size_returning_operator_new_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1104,1
    - Dst: __size_returning_new_aligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1110,1
    - Dst: tcmalloc_size_returning_operator_new_aligned_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1115,1
    - Dst: __size_returning_new_aligned_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1121,1
    - Dst: tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1126,1
    - Dst: sro_new_
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1133,1
    - Dst: IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1144,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1145,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1147,1
    - Dst: INSTANTIATE_TEST_SUITE_P
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1159,1
    - Dst: testing::Combine
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1161,1
    - Dst: tcmalloc_internal::PbtxtRegion::InjectValues
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1162,1
    - Dst: tcmalloc_internal::PbtxtRegion::InjectValues
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1163,1
    - Dst: hot_cold_t
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1163,1
    - Dst: tcmalloc_internal::PbtxtRegion::InjectValues
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1164,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1166,1
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1167,1
    - Dst: static_cast<int>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1168,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1168,1
    - Dst: std::get<2>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1169,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1186,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1186,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1188,1
    - Dst: testing::Ge
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1190,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1195,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1196,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1197,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1198,1
    - Dst: GetAlignment
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1198,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1199,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1199,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1200,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1200,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1201,1
    - Dst: tcmalloc_internal::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1206,1
    - Dst: IsNothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1207,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1210,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1213,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1215,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1215,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1226,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1226,1
    - Dst: IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1227,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1228,1
    - Dst: GetAlignment
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1228,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1230,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1236,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1242,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1256,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1259,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1262,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1265,1
    - Dst: TYPED_TEST_SUITE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1280,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1285,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1289,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1305,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1307,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1308,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1311,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1312,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1314,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1317,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1317,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1323,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1327,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1328,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1330,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1335,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1337,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1338,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1341,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1342,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1343,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1348,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1349,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1349,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1349,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1352,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1353,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1355,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1364,1
    - Dst: testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1364,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1365,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1370,1
    - Dst: TCMalloc_Internal_GetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1371,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1375,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1377,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1391,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1393,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1394,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1396,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1397,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1399,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1405,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1405,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1406,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1406,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1408,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1408,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1413,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1414,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1416,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1422,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1424,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1439,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1441,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1443,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1443,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1444,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1447,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1448,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1450,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1456,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1456,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1457,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1457,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1459,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1459,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1464,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1465,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1467,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1473,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1475,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1489,1
    - Dst: absl::LogUniform<size_t>
      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: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1503,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1503,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1504,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1504,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1506,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1506,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1511,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1512,1
    - Dst: sized_array_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1514,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1520,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1522,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1537,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1539,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1541,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1541,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1542,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1545,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1546,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1548,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1554,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1554,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1555,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1555,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1557,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1557,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1562,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1563,1
    - Dst: sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1565,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1571,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1573,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1588,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1590,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1591,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1593,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1594,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1595,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1598,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1598,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1599,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1601,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1601,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1606,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1607,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1607,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1608,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1610,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1614,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1617,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1620,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1622,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1624,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1624,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1632,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1634,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1638,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1639,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1653,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1655,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1656,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1658,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1661,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1669,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1670,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1670,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1672,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1672,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1677,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1678,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1680,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1685,1
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1691,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1699,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1701,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1702,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1703,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1704,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1705,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1706,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1707,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1708,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1709,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1710,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1711,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1712,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1714,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1716,1
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1716,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1717,1
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1717,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1720,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1724,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1737,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1737,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1738,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1739,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1740,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1741,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1742,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1743,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1753,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1762,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1763,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1766,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1767,1
    - Dst: open_memstream
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1776,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1778,1
    - Dst: malloc_info
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1779,1
    - Dst: fclose
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1779,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1782,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1782,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1784,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1789,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1790,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1791,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1792,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1795,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1796,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1796,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1797,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1801,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1802,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1802,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1803,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1807,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1808,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1808,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1809,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1812,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1813,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1814,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1815,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1815,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1819,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1819,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1824,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1824,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 500
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 1828
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_GT
    - MALLOCX_LG_ALIGN
    - tcmalloc_internal::PbtxtRegion::InjectValues
    - TC_CHECK_EQ
    - std::vector::reserve
    - benchmark::DoNotOptimize
    - ::operator delete
    - EXPECT_TRUE
    - INSTANTIATE_TEST_SUITE_P
    - IsHot
    - GetAlignment
    - tcmalloc_internal::ColdFeatureActive
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::max<size_t>
    - ASSERT_EQ
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - sdallocx
    - ::operator new
    - std::max
    - absl::LogUniform<size_t>
    - absl::StrFormat
    - TC_CHECK
    - remove_suffix
    - tcmalloc_size_returning_operator_new_hot_cold_nothrow
    - __size_returning_new_aligned_hot_cold
    - sro_new_
    - static_cast<size_t>
    - __size_returning_new_aligned
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - free_sized
    - ASSERT_GE
    - IsOveraligned
    - nallocx
    - TCMalloc_Internal_GetMinHotAccessHint
    - posix_memalign
    - static_cast<tcmalloc::hot_cold_t>
    - TC_CHECK_NE
    - absl::flat_hash_set::insert
    - aligned_alloc
    - testing::Combine
    - IsNormalMemory
    - testing::Ge
    - memalign
    - Delete
    - EXPECT_GE
    - GetMemoryTag
    - static_cast<uint8_t*>
    - EXPECT_DEATH
    - aligned_alloc_at_least
    - find_first_not_of
    - std::get<1>
    - remove_prefix
    - memset
    - malloc
    - fclose
    - testing::IsSupersetOf
    - New
    - TYPED_TEST_SUITE
    - find
    - tcmalloc::MallocExtension::GetNumericProperty
    - absl::StrCat
    - tcmalloc::MallocExtension::GetStats
    - EXPECT_EQ
    - operator new
    - ExpectSameAddresses
    - alloc_at_least
    - free_aligned_sized
    - sized_delete
    - std::vector::emplace_back
    - sized_array_aligned_delete
    - size
    - ASSERT_NE
    - absl::Uniform
    - static_cast<std::align_val_t>
    - std::exchange
    - GetParam
    - tcmalloc_size_returning_operator_new_aligned_nothrow
    - ParseLowLevelAllocator
    - absl::SNPrintF
    - test
    - testing::Eq
    - EXPECT_NE
    - tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
    - auto::Iterate
    - absl::string_view
    - std::vector::clear
    - free
    - ::operator new[]
    - absl::string_view::size
    - testing::Ne
    - sized_array_delete
    - ::operator delete[]
    - std::move
    - open_memstream
    - MinHotAccessHint
    - std::get<2>
    - __size_returning_new
    - std::get<0>
    - testing::Not
    - EXPECT_THAT
    - std::vector::push_back
    - reinterpret_cast<void*>
    - static_cast<int>
    - ASSERT_THAT
    - absl::Bernoulli
    - EXPECT_LE
    - static_cast<hot_cold_t>
    - IsNothrow
    - __size_returning_new_hot_cold
    - GTEST_SKIP
    - absl::Uniform<uint8_t>
    - malloc_info
    - absl::SimpleAtoi
    - reinterpret_cast<void (*)()>
    - malloc_usable_size
    - reinterpret_cast<uintptr_t>
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::max
    - realloc
    - tcmalloc_internal::StackTraceFilter::Contains
    - hot_cold_t
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, nallocx_alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:821,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:822,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:823,1
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 826
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - benchmark::DoNotOptimize
    - sdallocx
    - malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, sdallocx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:830,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:831,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:832,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 835
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - benchmark::DoNotOptimize
    - free_sized
    - malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, free_sized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:839,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:840,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:841,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:842,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:843,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 846
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - memset
    - realloc
    - benchmark::DoNotOptimize
    - free_sized
    - malloc_usable_size
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, realloc_free_sized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:850,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:851,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:852,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:853,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:854,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 856
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc
    - memset
    - realloc
    - benchmark::DoNotOptimize
    - free_sized
    - malloc_usable_size
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, b421895944)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:859,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:860,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:861,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:862,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 864
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - free_sized
    - realloc
    - malloc
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, b421895944_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:868,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:869,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:870,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:871,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 873
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - free_sized
    - realloc
    - malloc
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, b421895944_3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:880,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:881,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:886,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:888,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 890
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - free_sized
    - posix_memalign
    - EXPECT_DEATH
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, FreeSizedDeathTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:897,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:899,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:900,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:900,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:901,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:902,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 907
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - memset
    - aligned_alloc
    - ASSERT_NE
    - free_aligned_sized
    - benchmark::DoNotOptimize
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, FreeAlignedSized)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:913,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:914,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:919,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:921,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 923
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - free_aligned_sized
    - EXPECT_DEATH
    - malloc
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, FreeAlignedSizedDeathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:931,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:932,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:933,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:933,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:934,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:935,1
    - Dst: sdallocx
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:936,1
    - Dst: MALLOCX_LG_ALIGN
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 939
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - memset
    - ASSERT_EQ
    - MALLOCX_LG_ALIGN
    - sdallocx
    - posix_memalign
    - benchmark::DoNotOptimize
    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:943,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:944,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:945,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:947,1
    - Dst: static_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:947,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:948,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:949,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:951,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:951,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:953,1
    - Dst: static_cast<uint8_t*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:953,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:957,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:958,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:958,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 961
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t*>
    - memset
    - ASSERT_EQ
    - alloc_at_least
    - ASSERT_NE
    - realloc
    - benchmark::DoNotOptimize
    - free_sized
    - ASSERT_GE
    - malloc_usable_size
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, alloc_at_least)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc_at_least
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:967,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:969,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:970,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:970,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:971,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:972,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:973,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 978
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - ASSERT_EQ
    - memset
    - aligned_alloc_at_least
    - ASSERT_NE
    - free_aligned_sized
    - benchmark::DoNotOptimize
    - ASSERT_GE
    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:987,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:988,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:991,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:996,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:997,1
    - Dst: absl::string_view::find_first_not_of
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:999,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1001,1
    - Dst: absl::string_view::find
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1004,1
    - Dst: absl::string_view::remove_suffix
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1006,1
    - Dst: absl::string_view::size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1006,1
    - Dst: absl::SimpleAtoi
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1010,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: 1014
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1014
    functionName: ParseLowLevelAllocator
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 1
    functionsReached:
    - TC_CHECK
    - absl::string_view::remove_suffix
    - absl::string_view::find_first_not_of
    - absl::string_view::find
    - absl::string_view::remove_prefix
    - absl::SNPrintF
    - absl::string_view::size
    - absl::SimpleAtoi
    linkageType: ''
    returnType: std::optional<int64_t>
    signature: "std::optional<int64_t> ParseLowLevelAllocator(absl::string_view allocator_name,\n
      \                                             absl::string_view buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1018,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1020,1
    - Dst: ParseLowLevelAllocator
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1022,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1023,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1023,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1024,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1026,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1030
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_GE
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetStats
    - ASSERT_THAT
    - ParseLowLevelAllocator
    - testing::Ne
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, GetStatsReportsLowLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1039,1
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1040,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - T1
    - T2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1044
    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:1039,1
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1040,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - T1
    - T2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1044
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1049,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1058,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1059,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1068,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1069,1
    - Dst: ExpectSameAddresses
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1071
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ExpectSameAddresses
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, TestAliasedFunctions)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1082,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1082,1
    - Dst: std::get<1>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1083,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1083,1
    - Dst: std::get<2>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1084,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1084,1
    - Dst: TcmallocSizedNewTest::IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1085,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1099,1
    - Dst: tcmalloc_size_returning_operator_new_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1104,1
    - Dst: __size_returning_new_aligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1110,1
    - Dst: tcmalloc_size_returning_operator_new_aligned_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1115,1
    - Dst: __size_returning_new_aligned_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1121,1
    - Dst: tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1131
    functionName: TcmallocSizedNewTest::TcmallocSizedNewTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - GetParam
    - tcmalloc_size_returning_operator_new_hot_cold_nothrow
    - tcmalloc_size_returning_operator_new_aligned_nothrow
    - std::get<2>
    - __size_returning_new_aligned_hot_cold
    - __size_returning_new_aligned
    - std::get<0>
    - __size_returning_new_hot_cold
    - tcmalloc_size_returning_operator_new_aligned_hot_cold_nothrow
    - TcmallocSizedNewTest::IsOveraligned
    linkageType: ''
    returnType: void
    signature: void TcmallocSizedNewTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sro_new_
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1133
    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: 1135
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1135
    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: 1139
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1139
    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: 1141
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1141
    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:1144,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1145,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - sized_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1149
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1184,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1186,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1186,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1188,1
    - Dst: testing::Ge
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1188,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1191
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - testing::Ge
    - EXPECT_THAT
    - New
    - testing::Eq
    - Delete
    linkageType: ''
    returnType: void
    signature: void TEST_P(TcmallocSizedNewTest, SizedOperatorNewReturnsExtraCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1195,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1196,1
    - Dst: EXPECT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1197,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1198,1
    - Dst: GetAlignment
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1198,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1199,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1199,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1200,1
    - Dst: memset
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1200,1
    - Dst: Delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1203
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GE
    - memset
    - EXPECT_LE
    - GetAlignment
    - benchmark::DoNotOptimize
    - New
    - EXPECT_NE
    - std::max
    - static_cast<size_t>
    - Delete
    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:1206,1
    - Dst: IsNothrow
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1207,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1208,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1209,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1210,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1213,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1215,1
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1217
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_DEATH
    - tcmalloc_internal::max
    - IsNothrow
    - GTEST_SKIP
    - New
    linkageType: ''
    returnType: void
    signature: void TEST_P(TcmallocSizedNewTest, InvalidSizedOperatorNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1225,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1226,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1226,1
    - Dst: IsOveraligned
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1227,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1228,1
    - Dst: GetAlignment
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1228,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1230,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1236,1
    - Dst: test
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1244
    functionName: TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - IsOveraligned
    - test
    - ASSERT_EQ
    - ::operator delete
    - tcmalloc::MallocExtension::GetAllocatedSize
    - GetAlignment
    - New
    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:1256,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1259,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1262,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1270
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - __size_returning_new
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void TEST(SizedDeleteTest, SizedOperatorDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: IsHot
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 1
    functionsReached:
    - static_cast<tcmalloc::hot_cold_t>
    linkageType: ''
    returnType: bool
    signature: "bool IsHot(uint8_t label,\n                  tcmalloc::hot_cold_t
      threshold = kDefaultMinHotAccessHint)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1289,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1305,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1307,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1308,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1311,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1312,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1314,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1317,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1317,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1323,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1324,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1327,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1328,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1330,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1335,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1337,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1338,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1341,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1342,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1343,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1348,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1349,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1349,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1349,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1352,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1353,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1355,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1364,1
    - Dst: testing::Not
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1364,1
    - Dst: tcmalloc_internal::StackTraceFilter::Contains
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1364,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1365,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1367
    functionName: TYPED_TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - ::operator delete
    - EXPECT_TRUE
    - sized_delete
    - std::vector::emplace_back
    - testing::Not
    - tcmalloc_internal::ColdFeatureActive
    - EXPECT_THAT
    - static_cast<tcmalloc::hot_cold_t>
    - reinterpret_cast<void*>
    - absl::flat_hash_set::insert
    - absl::Bernoulli
    - IsNormalMemory
    - ::operator new
    - absl::Uniform<uint8_t>
    - absl::LogUniform<size_t>
    - reinterpret_cast<uintptr_t>
    - GetMemoryTag
    - EXPECT_NE
    - tcmalloc_internal::StackTraceFilter::Contains
    - std::vector::clear
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(HotColdTest, HotColdNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1370,1
    - Dst: TCMalloc_Internal_GetMinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 2
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: MinHotAccessHint
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 8
    functionsReached:
    - static_cast<tcmalloc::hot_cold_t>
    - TCMalloc_Internal_GetMinHotAccessHint
    linkageType: ''
    returnType: hot_cold_t
    signature: hot_cold_t MinHotAccessHint()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1375,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1377,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1391,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1393,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1394,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1396,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1397,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1399,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1405,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1405,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1406,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1406,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1408,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1408,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1413,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1414,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1374
    functionDepth: 3
    functionLinenumber: 1374
    functionLinenumberEnd: 1419
    functionName: TYPED_TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - MinHotAccessHint
    - EXPECT_TRUE
    - absl::Bernoulli
    - ::operator delete
    - IsHot
    - sized_delete
    - IsNormalMemory
    - GTEST_SKIP
    - std::vector::emplace_back
    - std::vector::reserve
    - tcmalloc_internal::ColdFeatureActive
    - absl::Uniform<uint8_t>
    - ::operator new
    - EXPECT_NE
    - absl::LogUniform<size_t>
    - static_cast<tcmalloc::hot_cold_t>
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(HotColdTest, NothrowHotColdNew)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1422,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1424,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1439,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1441,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1443,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1443,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1444,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1447,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1448,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1450,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1456,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1456,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1457,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1457,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1459,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1459,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1464,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1465,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1421
    functionDepth: 3
    functionLinenumber: 1421
    functionLinenumberEnd: 1470
    functionName: TYPED_TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - MinHotAccessHint
    - EXPECT_TRUE
    - absl::Bernoulli
    - ::operator delete
    - IsHot
    - absl::Uniform
    - IsNormalMemory
    - absl::Uniform<uint8_t>
    - static_cast<std::align_val_t>
    - std::vector::emplace_back
    - std::vector::reserve
    - tcmalloc_internal::ColdFeatureActive
    - GTEST_SKIP
    - ::operator new
    - EXPECT_NE
    - absl::LogUniform<size_t>
    - static_cast<tcmalloc::hot_cold_t>
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(HotColdTest, AlignedNothrowHotColdNew)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1473,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1475,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1489,1
    - Dst: absl::LogUniform<size_t>
      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: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1503,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1503,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1504,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1504,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1506,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1506,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1511,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1512,1
    - Dst: sized_array_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1472
    functionDepth: 3
    functionLinenumber: 1472
    functionLinenumberEnd: 1517
    functionName: TYPED_TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - MinHotAccessHint
    - EXPECT_TRUE
    - absl::Bernoulli
    - IsHot
    - IsNormalMemory
    - GTEST_SKIP
    - ::operator new[]
    - std::vector::emplace_back
    - std::vector::reserve
    - tcmalloc_internal::ColdFeatureActive
    - absl::Uniform<uint8_t>
    - static_cast<tcmalloc::hot_cold_t>
    - ::operator delete[]
    - EXPECT_NE
    - sized_array_delete
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(HotColdTest, ArrayNothrowHotColdNew)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1520,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1522,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1537,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1539,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1541,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1541,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1542,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1545,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1546,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1548,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1554,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1554,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1555,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1555,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1557,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1557,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1562,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1563,1
    - Dst: sized_array_aligned_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1519
    functionDepth: 3
    functionLinenumber: 1519
    functionLinenumberEnd: 1568
    functionName: TYPED_TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - ::operator new[]
    - std::vector::reserve
    - ::operator delete[]
    - MinHotAccessHint
    - EXPECT_TRUE
    - IsHot
    - std::vector::emplace_back
    - tcmalloc_internal::ColdFeatureActive
    - static_cast<tcmalloc::hot_cold_t>
    - sized_array_aligned_delete
    - absl::Bernoulli
    - absl::Uniform
    - IsNormalMemory
    - static_cast<std::align_val_t>
    - absl::Uniform<uint8_t>
    - GTEST_SKIP
    - absl::LogUniform<size_t>
    - GetMemoryTag
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(HotColdTest, ArrayAlignedNothrowHotColdNew)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1571,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1573,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1588,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1590,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1591,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1593,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1594,1
    - Dst: ASSERT_GE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1595,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1598,1
    - Dst: MinHotAccessHint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1598,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1599,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1599,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1601,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1601,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1606,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1607,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1607,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1608,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1610,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1614,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1617,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1620,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1622,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1624,1
    - Dst: absl::Uniform
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1624,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1570
    functionDepth: 3
    functionLinenumber: 1570
    functionLinenumberEnd: 1627
    functionName: TYPED_TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - testing::Ne
    - ASSERT_GE
    - EXPECT_EQ
    - MinHotAccessHint
    - EXPECT_TRUE
    - ::operator delete
    - IsHot
    - sized_delete
    - std::vector::emplace_back
    - tcmalloc_internal::ColdFeatureActive
    - tcmalloc::MallocExtension::GetAllocatedSize
    - ASSERT_THAT
    - static_cast<hot_cold_t>
    - absl::Uniform
    - IsNormalMemory
    - __size_returning_new_hot_cold
    - GTEST_SKIP
    - absl::Uniform<uint8_t>
    - absl::LogUniform<size_t>
    - GetMemoryTag
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(HotColdTest, SizeReturningHotColdNew)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1632,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1634,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1638,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1639,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1653,1
    - Dst: absl::LogUniform<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1655,1
    - Dst: absl::Uniform<uint8_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1656,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1658,1
    - Dst: static_cast<tcmalloc::hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1659,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1661,1
    - Dst: IsHot
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1669,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1670,1
    - Dst: GetMemoryTag
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1670,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1672,1
    - Dst: IsNormalMemory
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1672,1
    - Dst: absl::Bernoulli
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1677,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1678,1
    - Dst: sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1680,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1685,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1631
    functionDepth: 2
    functionLinenumber: 1631
    functionLinenumberEnd: 1686
    functionName: TYPED_TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - GetMemoryTag
    - absl::Bernoulli
    - EXPECT_TRUE
    - ::operator delete
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - IsHot
    - sized_delete
    - IsNormalMemory
    - absl::Uniform<uint8_t>
    - std::vector::emplace_back
    - std::vector::reserve
    - tcmalloc_internal::ColdFeatureActive
    - GTEST_SKIP
    - static_cast<tcmalloc::hot_cold_t>
    - ::operator new
    - EXPECT_NE
    - absl::LogUniform<size_t>
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(HotColdTest, HotColdNewMinHotFlag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::ColdFeatureActive
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1689,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1691,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1699,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1701,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1702,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1703,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1704,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1705,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1706,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1707,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1708,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1709,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1710,1
    - Dst: operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1711,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1712,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1714,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1716,1
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1716,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1717,1
    - Dst: std::exchange
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1717,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1720,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1724,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1730,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1737,1
    - Dst: testing::IsSupersetOf
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1737,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1738,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1739,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1740,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1741,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1742,1
    - Dst: static_cast<hot_cold_t>
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1688
    functionDepth: 2
    functionLinenumber: 1688
    functionLinenumberEnd: 1745
    functionName: TYPED_TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - operator new
    - ::operator delete
    - testing::IsSupersetOf
    - static_cast<hot_cold_t>
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc_internal::ColdFeatureActive
    - EXPECT_THAT
    - GTEST_SKIP
    - auto::Iterate
    - std::vector::push_back
    - std::exchange
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(HotColdTest, SampleHasRuntimeHint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1753,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1762,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1763,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1765,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1766,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1771
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - __size_returning_new
    - ::operator delete
    - EXPECT_EQ
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(MallocExtension, SizeReturningNewAndSizedDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open_memstream
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1776,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1777,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1778,1
    - Dst: malloc_info
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1778,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1779,1
    - Dst: fclose
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1779,1
    - Dst: ASSERT_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1780,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1782,1
    - Dst: absl::string_view
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1782,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1785
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - fclose
    - EXPECT_EQ
    - open_memstream
    - free
    - ASSERT_NE
    - malloc_info
    - absl::string_view
    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:1789,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1790,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1791,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1792,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1795,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1796,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1796,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1797,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1801,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1802,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1802,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1803,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1807,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1808,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1808,1
    - Dst: absl::StrFormat
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1809,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1812,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1813,1
    - Dst: TC_CHECK_NE
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1814,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1815,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1787
    functionDepth: 2
    functionLinenumber: 1787
    functionLinenumberEnd: 1816
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK_NE
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - EXPECT_DEATH
    - TC_CHECK_EQ
    - absl::StrFormat
    linkageType: ''
    returnType: void
    signature: void TEST(Check, CustomTypes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1819,1
    - Dst: malloc_usable_size
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1820
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - malloc_usable_size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TCMalloc, MallocUsableSizeNullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1824,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1825
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - ::operator new
    linkageType: ''
    returnType: void
    signature: void TEST(TCMalloc, Misc)
  - 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:
    - EXPECT_FALSE
    - numa_topology
    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:
    - EXPECT_FALSE
    - numa_topology
    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:
    - tcmalloc::MallocExtension::GetProperties
    - free
    - EXPECT_LE
    - malloc
    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:
    - tcmalloc::MallocExtension::GetProperties
    - free
    - EXPECT_LE
    - malloc
    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:
    - tcmalloc::MallocExtension::GetProperties
    - free
    - EXPECT_LE
    - malloc
    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:
    - tcmalloc::MallocExtension::GetProperties
    - free
    - EXPECT_LE
    - malloc
    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
    - size
    - tcmalloc::GetStatsInPbTxt
    - parse
    - EXPECT_TRUE
    - std::string::find
    - absl::SimpleAtoi
    - EXPECT_NE
    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::has_value
    - CHECK
    - auto::value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - static_cast<uint64_t>
    - tcmalloc_internal::safe_div
    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::ExpectedFragmentation
    - tcmalloc::LowerBound
    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:
    - SLL_Pop
    - tcmalloc::sized_delete
    - ASSERT_GT
    - tcmalloc::GetPeakStats
    - EXPECT_NEAR
    - absl::Bernoulli
    - tcmalloc::FragmentationTolerance
    - tcmalloc::ExpectedFragmentation
    - ::operator new
    - GTEST_SKIP
    - SLL_Push
    - tcmalloc::RealizedFragmentation
    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
    - size
    - tcmalloc::GetStatsInPbTxt
    - parse
    - EXPECT_TRUE
    - std::string::find
    - absl::SimpleAtoi
    - EXPECT_NE
    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::has_value
    - CHECK
    - auto::value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - static_cast<uint64_t>
    - tcmalloc_internal::safe_div
    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::ExpectedFragmentation
    - tcmalloc::LowerBound
    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:
    - SLL_Pop
    - tcmalloc::sized_delete
    - ASSERT_GT
    - tcmalloc::GetPeakStats
    - EXPECT_NEAR
    - absl::Bernoulli
    - tcmalloc::FragmentationTolerance
    - tcmalloc::ExpectedFragmentation
    - ::operator new
    - GTEST_SKIP
    - SLL_Push
    - tcmalloc::RealizedFragmentation
    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
    - size
    - tcmalloc::GetStatsInPbTxt
    - parse
    - EXPECT_TRUE
    - std::string::find
    - absl::SimpleAtoi
    - EXPECT_NE
    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::has_value
    - CHECK
    - auto::value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - static_cast<uint64_t>
    - tcmalloc_internal::safe_div
    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::ExpectedFragmentation
    - tcmalloc::LowerBound
    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:
    - SLL_Pop
    - tcmalloc::sized_delete
    - ASSERT_GT
    - tcmalloc::GetPeakStats
    - EXPECT_NEAR
    - absl::Bernoulli
    - tcmalloc::FragmentationTolerance
    - tcmalloc::ExpectedFragmentation
    - ::operator new
    - GTEST_SKIP
    - SLL_Push
    - tcmalloc::RealizedFragmentation
    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
    - size
    - tcmalloc::GetStatsInPbTxt
    - parse
    - EXPECT_TRUE
    - std::string::find
    - absl::SimpleAtoi
    - EXPECT_NE
    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::has_value
    - CHECK
    - auto::value
    - tcmalloc::MallocExtension::GetNumericProperty
    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:
    - static_cast<uint64_t>
    - tcmalloc_internal::safe_div
    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::ExpectedFragmentation
    - tcmalloc::LowerBound
    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:
    - SLL_Pop
    - tcmalloc::sized_delete
    - ASSERT_GT
    - tcmalloc::GetPeakStats
    - EXPECT_NEAR
    - absl::Bernoulli
    - tcmalloc::FragmentationTolerance
    - tcmalloc::ExpectedFragmentation
    - ::operator new
    - GTEST_SKIP
    - SLL_Push
    - tcmalloc::RealizedFragmentation
    linkageType: ''
    returnType: void
    signature: void TEST(RealizedFragmentation, Accuracy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:60,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:63,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:68,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:76,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:77,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:79,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: AnyOf
      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: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,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: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      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: ContainsRegex
      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: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:95,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:97,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:97,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:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:103,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:103,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:105,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:106,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:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:109,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:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:112,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:114,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:117,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:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:121,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:126,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:126,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:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:131,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:131,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:138,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:143,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:143,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:148,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc::sized_delete
    - absl::StrCat
    - EXPECT_GT
    - tcmalloc::GetStatsInPbTxt
    - ASSERT_THAT
    - AnyOf
    - ContainsRegex
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - EXPECT_THAT
    - ::operator new
    - testing::Ne
    - IsExperimentActive
    - testing::Eq
    - HasSubstr
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Pbtxt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:164,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:165,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:167,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:168,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:171,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:174,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:175,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:177,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:178,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:180,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:181,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:184,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:187,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:190,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:191,1
    - Dst: using_hpaa
      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:195,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:197,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:200,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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:207,1
    - Dst: HasSubstr
      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:212,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:214,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:215,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:222,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:225,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: IsExperimentActive
      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:233,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:241,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:244,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:252,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:255,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:259,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:261,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:266,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:270,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:271,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:273,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:276,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:278,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:280,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:282,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:282,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:286,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:287,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:288,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:289,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:290,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:291,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:292,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:293,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:294,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:295,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:296,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:298,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:299,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:305,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:307,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: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:317,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:319,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:321,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:323,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:327,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:329,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:329,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:330,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:331,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:331,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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:333,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:335,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:337,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:339,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:341,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:343,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:348,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:349,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:350,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:351,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:352,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:354,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 358
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::GetStatsInPbTxt
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    - tcmalloc::MallocExtension::GetStats
    - absl::Milliseconds
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - EXPECT_THAT
    - tcmalloc_internal::Parameters::per_cpu_caches
    - using_hpaa
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - IsExperimentActive
    - HasSubstr
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - absl::StrContains
    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:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: pthread_attr_init
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:384,1
    - Dst: pthread_attr_setstacksize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:384,1
    - Dst: static_cast<Args*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:387,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:390,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:392,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:394,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:398,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:398,1
    - Dst: Args*::output::clear
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:404,1
    - Dst: pthread_join
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:404,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: Args*::output::empty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: pthread_attr_destroy
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 416
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - pthread_attr_init
    - absl::StrCat
    - tcmalloc::MallocExtension::GetStats
    - pthread_attr_destroy
    - ASSERT_EQ
    - tcmalloc::GetStatsInPbTxt
    - pthread_join
    - EXPECT_FALSE
    - static_cast<void*>
    - static_cast<Args*>
    - pthread_attr_setstacksize
    - SCOPED_TRACE
    - pthread_create
    - Args*::output::empty
    - Args*::output::clear
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, StackDepth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:420,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:427,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:430,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:432,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:435,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:439,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:441,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    - Dst: std::abs
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 446
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - MallocExtension_Internal_GetStatsInPbtxt
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::string::resize
    - GTEST_SKIP
    - std::abs
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, RequiredBufferSizes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:60,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:63,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:68,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:76,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:77,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:79,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: AnyOf
      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: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,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: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      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: ContainsRegex
      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: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:95,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:97,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:97,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:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:103,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:103,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:105,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:106,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:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:109,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:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:112,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:114,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:117,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:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:121,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:126,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:126,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:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:131,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:131,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:138,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:143,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:143,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:148,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc::sized_delete
    - absl::StrCat
    - EXPECT_GT
    - tcmalloc::GetStatsInPbTxt
    - ASSERT_THAT
    - AnyOf
    - ContainsRegex
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - EXPECT_THAT
    - ::operator new
    - testing::Ne
    - IsExperimentActive
    - testing::Eq
    - HasSubstr
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Pbtxt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:164,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:165,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:167,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:168,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:171,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:174,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:175,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:177,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:178,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:180,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:181,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:184,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:187,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:190,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:191,1
    - Dst: using_hpaa
      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:195,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:197,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:200,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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:207,1
    - Dst: HasSubstr
      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:212,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:214,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:215,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:222,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:225,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: IsExperimentActive
      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:233,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:241,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:244,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:252,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:255,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:259,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:261,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:266,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:270,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:271,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:273,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:276,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:278,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:280,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:282,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:282,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:286,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:287,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:288,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:289,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:290,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:291,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:292,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:293,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:294,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:295,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:296,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:298,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:299,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:305,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:307,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: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:317,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:319,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:321,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:323,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:327,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:329,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:329,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:330,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:331,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:331,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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:333,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:335,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:337,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:339,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:341,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:343,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:348,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:349,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:350,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:351,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:352,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:354,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 358
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::GetStatsInPbTxt
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    - tcmalloc::MallocExtension::GetStats
    - absl::Milliseconds
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - EXPECT_THAT
    - tcmalloc_internal::Parameters::per_cpu_caches
    - using_hpaa
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - IsExperimentActive
    - HasSubstr
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - absl::StrContains
    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:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: pthread_attr_init
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:384,1
    - Dst: pthread_attr_setstacksize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:384,1
    - Dst: static_cast<Args*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:387,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:390,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:392,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:394,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:398,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:398,1
    - Dst: Args*::output::clear
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:404,1
    - Dst: pthread_join
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:404,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: Args*::output::empty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: pthread_attr_destroy
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 416
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - pthread_attr_init
    - absl::StrCat
    - tcmalloc::MallocExtension::GetStats
    - pthread_attr_destroy
    - ASSERT_EQ
    - tcmalloc::GetStatsInPbTxt
    - pthread_join
    - EXPECT_FALSE
    - static_cast<void*>
    - static_cast<Args*>
    - pthread_attr_setstacksize
    - SCOPED_TRACE
    - pthread_create
    - Args*::output::empty
    - Args*::output::clear
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, StackDepth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:420,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:427,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:430,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:432,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:435,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:439,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:441,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    - Dst: std::abs
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 446
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - MallocExtension_Internal_GetStatsInPbtxt
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::string::resize
    - GTEST_SKIP
    - std::abs
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, RequiredBufferSizes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:60,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:63,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:68,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:76,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:77,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:79,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: AnyOf
      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: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,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: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      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: ContainsRegex
      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: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:95,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:97,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:97,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:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:103,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:103,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:105,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:106,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:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:109,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:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:112,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:114,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:117,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:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:121,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:126,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:126,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:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:131,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:131,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:138,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:143,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:143,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:148,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc::sized_delete
    - absl::StrCat
    - EXPECT_GT
    - tcmalloc::GetStatsInPbTxt
    - ASSERT_THAT
    - AnyOf
    - ContainsRegex
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - EXPECT_THAT
    - ::operator new
    - testing::Ne
    - IsExperimentActive
    - testing::Eq
    - HasSubstr
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Pbtxt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:164,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:165,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:167,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:168,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:171,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:174,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:175,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:177,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:178,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:180,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:181,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:184,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:187,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:190,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:191,1
    - Dst: using_hpaa
      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:195,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:197,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:200,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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:207,1
    - Dst: HasSubstr
      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:212,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:214,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:215,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:222,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:225,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: IsExperimentActive
      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:233,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:241,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:244,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:252,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:255,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:259,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:261,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:266,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:270,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:271,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:273,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:276,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:278,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:280,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:282,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:282,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:286,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:287,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:288,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:289,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:290,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:291,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:292,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:293,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:294,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:295,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:296,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:298,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:299,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:305,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:307,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: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:317,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:319,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:321,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:323,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:327,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:329,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:329,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:330,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:331,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:331,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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:333,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:335,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:337,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:339,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:341,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:343,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:348,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:349,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:350,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:351,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:352,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:354,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 358
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::GetStatsInPbTxt
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    - tcmalloc::MallocExtension::GetStats
    - absl::Milliseconds
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - EXPECT_THAT
    - tcmalloc_internal::Parameters::per_cpu_caches
    - using_hpaa
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - IsExperimentActive
    - HasSubstr
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - absl::StrContains
    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:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: pthread_attr_init
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:384,1
    - Dst: pthread_attr_setstacksize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:384,1
    - Dst: static_cast<Args*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:387,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:390,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:392,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:394,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:398,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:398,1
    - Dst: Args*::output::clear
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:404,1
    - Dst: pthread_join
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:404,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: Args*::output::empty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: pthread_attr_destroy
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 416
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - pthread_attr_init
    - absl::StrCat
    - tcmalloc::MallocExtension::GetStats
    - pthread_attr_destroy
    - ASSERT_EQ
    - tcmalloc::GetStatsInPbTxt
    - pthread_join
    - EXPECT_FALSE
    - static_cast<void*>
    - static_cast<Args*>
    - pthread_attr_setstacksize
    - SCOPED_TRACE
    - pthread_create
    - Args*::output::empty
    - Args*::output::clear
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, StackDepth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:420,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:427,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:430,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:432,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:435,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:439,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:441,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    - Dst: std::abs
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 446
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - MallocExtension_Internal_GetStatsInPbtxt
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::string::resize
    - GTEST_SKIP
    - std::abs
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, RequiredBufferSizes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:60,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:63,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:68,1
    - Dst: testing::Eq
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: testing::Ne
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:71,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:76,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:77,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:79,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:85,1
    - Dst: AnyOf
      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: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:87,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: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:90,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      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: ContainsRegex
      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: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:95,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:97,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:97,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:99,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: ContainsRegex
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:103,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:103,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:105,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:105,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:106,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:107,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:109,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:110,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:112,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:114,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:117,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:120,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:121,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:126,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:126,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:128,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:131,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:131,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:138,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:143,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:143,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:148,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:153,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:157,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 161
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc::sized_delete
    - absl::StrCat
    - EXPECT_GT
    - tcmalloc::GetStatsInPbTxt
    - ASSERT_THAT
    - AnyOf
    - ContainsRegex
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - EXPECT_THAT
    - ::operator new
    - testing::Ne
    - IsExperimentActive
    - testing::Eq
    - HasSubstr
    - tcmalloc::MallocExtension::GetNumericProperty
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, Pbtxt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc_internal::Parameters::hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:164,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:165,1
    - Dst: tcmalloc_internal::Parameters::guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:167,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:168,1
    - Dst: tcmalloc_internal::Parameters::per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:169,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:171,1
    - Dst: tcmalloc_internal::Parameters::max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:174,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:175,1
    - Dst: tcmalloc_internal::Parameters::max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:177,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:178,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:180,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:181,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:181,1
    - Dst: tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:183,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:184,1
    - Dst: tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:184,1
    - Dst: absl::StrContains
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:187,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:190,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:191,1
    - Dst: using_hpaa
      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:195,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:197,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:200,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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:207,1
    - Dst: HasSubstr
      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:212,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:214,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:215,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:222,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:225,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: IsExperimentActive
      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:233,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:241,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:244,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: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:252,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:255,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:259,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:261,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:266,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:270,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:271,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:273,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:276,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:278,1
    - Dst: IsExperimentActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:280,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:282,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:282,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:286,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:287,1
    - Dst: tcmalloc_internal::Parameters::profile_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:288,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:289,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:290,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:291,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:292,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:293,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:294,1
    - Dst: absl::Milliseconds
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:295,1
    - Dst: tcmalloc_internal::Parameters::set_min_hot_access_hint
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:296,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:298,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:299,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:305,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:307,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: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:317,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:319,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:321,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:323,1
    - Dst: using_hpaa
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:327,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:329,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:329,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:330,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:331,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:331,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: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:333,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:335,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:337,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:339,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:341,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:343,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:345,1
    - Dst: tcmalloc_internal::Parameters::set_hpaa_subrelease
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:348,1
    - Dst: tcmalloc_internal::Parameters::set_guarded_sampling_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:349,1
    - Dst: tcmalloc_internal::Parameters::set_per_cpu_caches
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:350,1
    - Dst: tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:351,1
    - Dst: tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:352,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:354,1
    - Dst: tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 358
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::GetStatsInPbTxt
    - tcmalloc_internal::Parameters::set_max_total_thread_cache_bytes
    - tcmalloc_internal::Parameters::set_per_cpu_caches
    - tcmalloc_internal::Parameters::profile_sampling_interval
    - tcmalloc_internal::Parameters::set_max_per_cpu_cache_size
    - tcmalloc::MallocExtension::GetStats
    - absl::Milliseconds
    - tcmalloc_internal::Parameters::hpaa_subrelease
    - tcmalloc_internal::Parameters::filler_skip_subrelease_long_interval
    - EXPECT_THAT
    - tcmalloc_internal::Parameters::per_cpu_caches
    - using_hpaa
    - tcmalloc_internal::Parameters::guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_filler_skip_subrelease_long_interval
    - tcmalloc_internal::Parameters::max_per_cpu_cache_size
    - tcmalloc_internal::Parameters::set_min_hot_access_hint
    - tcmalloc_internal::Parameters::max_total_thread_cache_bytes
    - IsExperimentActive
    - HasSubstr
    - tcmalloc::tcmalloc_internal::PageFlagsFriend::MaybeReadStaleScanSeconds
    - tcmalloc_internal::Parameters::filler_skip_subrelease_short_interval
    - tcmalloc_internal::Parameters::set_guarded_sampling_interval
    - tcmalloc_internal::Parameters::set_hpaa_subrelease
    - absl::StrContains
    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:367,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: pthread_attr_init
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:383,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:384,1
    - Dst: pthread_attr_setstacksize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:384,1
    - Dst: static_cast<Args*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:387,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:390,1
    - Dst: tcmalloc::GetStatsInPbTxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:392,1
    - Dst: static_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:394,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:398,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:398,1
    - Dst: Args*::output::clear
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:402,1
    - Dst: pthread_create
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:404,1
    - Dst: pthread_join
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:404,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: Args*::output::empty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    - Dst: pthread_attr_destroy
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 416
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - pthread_attr_init
    - absl::StrCat
    - tcmalloc::MallocExtension::GetStats
    - pthread_attr_destroy
    - ASSERT_EQ
    - tcmalloc::GetStatsInPbTxt
    - pthread_join
    - EXPECT_FALSE
    - static_cast<void*>
    - static_cast<Args*>
    - pthread_attr_setstacksize
    - SCOPED_TRACE
    - pthread_create
    - Args*::output::empty
    - Args*::output::clear
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(GetStatsTest, StackDepth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:420,1
    - Dst: std::string::resize
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:427,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:430,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:432,1
    - Dst: MallocExtension_Internal_GetStatsInPbtxt
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:435,1
    - Dst: tcmalloc::MallocExtension::PerCpuCachesActive
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::GetNumericProperty
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:439,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:441,1
    - Dst: EXPECT_LE
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    - Dst: std::abs
      Src: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 446
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/get_stats_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - MallocExtension_Internal_GetStatsInPbtxt
    - EXPECT_LE
    - tcmalloc::MallocExtension::PerCpuCachesActive
    - std::string::resize
    - GTEST_SKIP
    - std::abs
    - tcmalloc::MallocExtension::GetNumericProperty
    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: 8
    functionsReached:
    - aligned_alloc_at_least
    - free
    - 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:59,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:60,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::GuardedAllocAlignmentTest::GuardedAllocAlignmentTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - guardedpage_allocator
    linkageType: ''
    returnType: void
    signature: void GuardedAllocAlignmentTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:75,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:75,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - free
    - malloc
    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:84,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:85,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:85,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:86,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - free
    - posix_memalign
    - benchmark::DoNotOptimize
    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:96,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:102,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:103,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - ::operator delete
    - absl::bit_ceil
    - ::operator new
    - std::min
    - std::max
    - static_cast<size_t>
    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:115,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:116,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:116,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:117,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - ::operator delete
    - static_cast<std::align_val_t>
    - ::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:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:75,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:75,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - free
    - malloc
    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:84,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:85,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:85,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:86,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - free
    - posix_memalign
    - benchmark::DoNotOptimize
    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:96,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:102,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:103,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - ::operator delete
    - absl::bit_ceil
    - ::operator new
    - std::min
    - std::max
    - static_cast<size_t>
    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:115,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:116,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:116,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:117,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - ::operator delete
    - static_cast<std::align_val_t>
    - ::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:129,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:131,1
    - Dst: unsetenv
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: tcmalloc::TcMallocTest::TcMallocTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - unsetenv
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - guardedpage_allocator
    linkageType: ''
    returnType: void
    signature: void TcMallocTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:146,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:149,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:152,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:153,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:157,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:157,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:162,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:167,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:176,1
    - Dst: RepeatUnderflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - GetParam
    - RepeatUnderflow
    - auto::get
    - defined
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    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:181,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:184,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:191,1
    - Dst: auto::get
      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: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:197,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:202,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:204,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:211,1
    - Dst: RepeatOverflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - GetParam
    - auto::get
    - defined
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - RepeatOverflow
    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:216,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:219,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:222,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:223,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: auto::get
      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: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:235,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:240,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:244,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:251,1
    - Dst: RepeatZeroByteAccess
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 252
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - RepeatZeroByteAccess
    - std::make_unique<char[]>
    - GetParam
    - auto::get
    - defined
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - GetRequestedSize
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, ZeroByteAccessDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:255,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:258,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:259,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:265,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:269,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:271,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:278,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - GetParam
    - defined
    - char::char
    - benchmark::DoNotOptimize
    - RepeatUseAfterFree
    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:288,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:293,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:294,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:295,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:298,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:299,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:304,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:306,1
    - Dst: RepeatDoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - RepeatDoubleFree
    - ::operator new
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    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:316,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:317,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:319,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:325,1
    - Dst: RepeatOverflowWrite
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - RepeatOverflowWrite
    - benchmark::DoNotOptimize
    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:330,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:330,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:331,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:334,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - free
    - reinterpret_cast<char*>
    - realloc
    - benchmark::DoNotOptimize
    - malloc
    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:341,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:346,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:347,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:350,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:351,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:352,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:353,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:360,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:360,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:362,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:364,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 367
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - RepeatUseAfterFree
    - static_cast<char*>
    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:371,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:372,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:373,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    - munmap
    - mmap
    - EXPECT_DEATH
    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:388,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:392,1
    - Dst: absl::bit_cast<uintptr_t>
      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: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:396,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:396,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - guardedpage_allocator
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::make_unique<A>
    - auto::get
    - absl::bit_cast<uintptr_t>
    - benchmark::DoNotOptimize
    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:411,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:415,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:417,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:418,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    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:427,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:428,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:429,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:430,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:431,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:433,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:434,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    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:443,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:449,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:449,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_DEATH
    - free
    - realloc
    - fprintf
    - static_cast<char*>
    - malloc
    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:460,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:463,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:463,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:464,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:469,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:469,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free
    - realloc
    - SCOPED_TRACE
    - GTEST_SKIP
    - static_cast<char*>
    - malloc
    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:480,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:483,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:483,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:484,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:489,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 496
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free
    - realloc
    - SCOPED_TRACE
    - GTEST_SKIP
    - static_cast<char*>
    - malloc
    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:500,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:517,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:518,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:518,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:530,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:530,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:534,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:536,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:539,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:545,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:547,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:549,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:554,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:556,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:561,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 578
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - __size_returning_new_hot_cold
    - SCOPED_TRACE
    - has_value
    - ::operator new
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:582,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:607,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:608,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:608,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:622,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:622,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:623,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:626,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:628,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:630,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:635,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:637,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:642,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:642,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 659
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - __size_returning_new_hot_cold
    - SCOPED_TRACE
    - has_value
    - ::operator new
    - RoundUp
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:663,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:673,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:673,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:677,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:677,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:678,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:682,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:684,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:688,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:688,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 701
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - SCOPED_TRACE
    - ::operator new
    - GTEST_SKIP
    - std::max
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:705,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:714,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:714,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:716,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:720,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:723,1
    - Dst: tcmalloc::TEST_F
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:735,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:737,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:750,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:750,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:752,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:756,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:760,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 766
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - tcmalloc::TEST_F
    - ::operator new
    - GTEST_SKIP
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSizeClassInFreelistInsertion)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:784,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:800,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:803,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:803,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:813,1
    - Dst: SCOPED_TRACE
      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: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:821,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:821,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:822,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:830,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: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:835,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:838,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 848
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - tcmalloc::sized_delete
    - absl::StrCat
    - static_cast<char*>
    - EXPECT_DEATH
    - has_value
    - SCOPED_TRACE
    - ::operator new
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:851,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:856,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:856,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:857,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 863
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - static_cast<char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointerEdgeCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:868,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:870,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:871,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:872,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:879,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:881,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:882,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:883,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:885,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:890,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:892,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:893,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:894,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 900
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - aligned_alloc
    - ::operator delete
    - free
    - ::operator new
    - benchmark::DoNotOptimize
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, AllocationDeallocationConfusion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:907,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:910,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:911,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:912,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 926
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWithoutAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:933,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:935,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:936,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:937,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 950
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:957,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:959,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:961,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:965,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 977
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWrongAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:982,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:989,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:991,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:992,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:994,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 999
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - aligned_alloc
    - EXPECT_DEATH
    - free_aligned_sized
    - GTEST_SKIP
    - free_sized
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithoutAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1006,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1007,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1010,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1011,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1012,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1016,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1018,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1021,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1026,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1028
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - aligned_alloc
    - free_aligned_sized
    - free_sized
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithSameAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1033,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1040,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1042,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1043,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1045,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1051
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free_aligned_sized
    - GTEST_SKIP
    - free_sized
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1056,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1060,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1060,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1062,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1063,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1064,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1070
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - GTEST_SKIP
    - static_cast<char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, InteriorPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1075,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1078,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1080,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1081,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1082,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1090,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1091,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1099
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - absl::bit_cast<void*>
    - EXPECT_DEATH
    - ::operator delete
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NeverAllocatedPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1104,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1109,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1110,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1112,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1113,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1114,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1122,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1123,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1124,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1132,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1133,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1141
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - absl::bit_cast<void*>
    - EXPECT_DEATH
    - absl::bit_width
    - ::operator delete
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NeverAllocatedPointerHighBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:146,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:149,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:152,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:153,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:157,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:157,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:162,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:167,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:176,1
    - Dst: RepeatUnderflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - GetParam
    - RepeatUnderflow
    - auto::get
    - defined
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    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:181,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:184,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:191,1
    - Dst: auto::get
      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: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:197,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:202,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:204,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:211,1
    - Dst: RepeatOverflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - GetParam
    - auto::get
    - defined
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - RepeatOverflow
    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:216,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:219,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:222,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:223,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: auto::get
      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: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:235,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:240,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:244,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:251,1
    - Dst: RepeatZeroByteAccess
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 252
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - RepeatZeroByteAccess
    - std::make_unique<char[]>
    - GetParam
    - auto::get
    - defined
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - GetRequestedSize
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, ZeroByteAccessDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:255,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:258,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:259,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:265,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:269,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:271,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:278,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - GetParam
    - defined
    - char::char
    - benchmark::DoNotOptimize
    - RepeatUseAfterFree
    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:288,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:293,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:294,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:295,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:298,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:299,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:304,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:306,1
    - Dst: RepeatDoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - RepeatDoubleFree
    - ::operator new
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    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:316,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:317,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:319,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:325,1
    - Dst: RepeatOverflowWrite
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - RepeatOverflowWrite
    - benchmark::DoNotOptimize
    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:330,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:330,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:331,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:334,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - free
    - reinterpret_cast<char*>
    - realloc
    - benchmark::DoNotOptimize
    - malloc
    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:341,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:346,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:347,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:350,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:351,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:352,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:353,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:360,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:360,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:362,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:364,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 367
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - RepeatUseAfterFree
    - static_cast<char*>
    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:371,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:372,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:373,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - static_cast<int*>
    - munmap
    - mmap
    - EXPECT_DEATH
    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:388,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:392,1
    - Dst: absl::bit_cast<uintptr_t>
      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: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:396,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:396,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - guardedpage_allocator
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::make_unique<A>
    - auto::get
    - absl::bit_cast<uintptr_t>
    - benchmark::DoNotOptimize
    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:411,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:415,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:417,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:418,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    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:427,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:428,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:429,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:430,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:431,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:433,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:434,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    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:443,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:449,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:449,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_DEATH
    - free
    - realloc
    - fprintf
    - static_cast<char*>
    - malloc
    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:460,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:463,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:463,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:464,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:469,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:469,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free
    - realloc
    - SCOPED_TRACE
    - GTEST_SKIP
    - static_cast<char*>
    - malloc
    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:480,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:483,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:483,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:484,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:489,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 496
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free
    - realloc
    - SCOPED_TRACE
    - GTEST_SKIP
    - static_cast<char*>
    - malloc
    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:500,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:517,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:518,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:518,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:530,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:530,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:534,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:536,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:539,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:545,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:547,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:549,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:554,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:556,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:561,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 578
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - __size_returning_new_hot_cold
    - SCOPED_TRACE
    - has_value
    - ::operator new
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:582,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:607,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:608,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:608,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:622,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:622,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:623,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:626,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:628,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:630,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:635,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:637,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:642,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:642,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 659
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - __size_returning_new_hot_cold
    - SCOPED_TRACE
    - has_value
    - ::operator new
    - RoundUp
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:663,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:673,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:673,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:677,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:677,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:678,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:682,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:684,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:688,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:688,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 701
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - SCOPED_TRACE
    - ::operator new
    - GTEST_SKIP
    - std::max
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:705,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:714,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:714,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:716,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:720,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:723,1
    - Dst: tcmalloc::TEST_F
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:735,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:737,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:750,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:750,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:752,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:756,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:760,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 766
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - tcmalloc::TEST_F
    - ::operator new
    - GTEST_SKIP
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSizeClassInFreelistInsertion)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:784,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:800,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:803,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:803,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:813,1
    - Dst: SCOPED_TRACE
      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: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:821,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:821,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:822,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:830,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: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:835,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:838,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 848
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - tcmalloc::sized_delete
    - absl::StrCat
    - static_cast<char*>
    - EXPECT_DEATH
    - has_value
    - SCOPED_TRACE
    - ::operator new
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:851,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:856,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:856,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:857,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 863
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - static_cast<char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointerEdgeCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:868,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:870,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:871,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:872,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:879,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:881,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:882,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:883,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:885,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:890,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:892,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:893,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:894,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 900
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - aligned_alloc
    - ::operator delete
    - free
    - ::operator new
    - benchmark::DoNotOptimize
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, AllocationDeallocationConfusion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:907,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:910,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:911,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:912,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 926
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWithoutAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:933,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:935,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:936,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:937,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 950
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:957,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:959,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:961,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:965,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 977
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWrongAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:982,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:989,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:991,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:992,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:994,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 999
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - aligned_alloc
    - EXPECT_DEATH
    - free_aligned_sized
    - GTEST_SKIP
    - free_sized
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithoutAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1006,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1007,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1010,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1011,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1012,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1016,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1018,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1021,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1026,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1028
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - aligned_alloc
    - free_aligned_sized
    - free_sized
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithSameAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1033,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1040,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1042,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1043,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1045,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1051
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free_aligned_sized
    - GTEST_SKIP
    - free_sized
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1056,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1060,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1060,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1062,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1063,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1064,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1070
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - GTEST_SKIP
    - static_cast<char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, InteriorPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1075,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1078,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1080,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1081,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1082,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1090,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1091,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1099
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - absl::bit_cast<void*>
    - EXPECT_DEATH
    - ::operator delete
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NeverAllocatedPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1104,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1109,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1110,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1112,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1113,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1114,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1122,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1123,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1124,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1132,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1133,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1141
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - absl::bit_cast<void*>
    - EXPECT_DEATH
    - absl::bit_width
    - ::operator delete
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NeverAllocatedPointerHighBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::ActivateGuardedSampling
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:59,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:60,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::GuardedAllocAlignmentTest::GuardedAllocAlignmentTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - guardedpage_allocator
    linkageType: ''
    returnType: void
    signature: void GuardedAllocAlignmentTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:75,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:75,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - free
    - malloc
    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:84,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:85,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:85,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:86,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - free
    - posix_memalign
    - benchmark::DoNotOptimize
    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:96,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:102,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:103,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - ::operator delete
    - absl::bit_ceil
    - ::operator new
    - std::min
    - std::max
    - static_cast<size_t>
    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:115,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:116,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:116,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:117,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - ::operator delete
    - static_cast<std::align_val_t>
    - ::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:71,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:75,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:75,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_EQ
    - reinterpret_cast<uintptr_t>
    - free
    - malloc
    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:84,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:85,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:85,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:86,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - free
    - posix_memalign
    - benchmark::DoNotOptimize
    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:96,1
    - Dst: std::min
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:102,1
    - Dst: absl::bit_ceil
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:103,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:104,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:107,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - ::operator delete
    - absl::bit_ceil
    - ::operator new
    - std::min
    - std::max
    - static_cast<size_t>
    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:115,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:116,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:116,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:117,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - EXPECT_EQ
    - ::operator delete
    - static_cast<std::align_val_t>
    - ::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:129,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:130,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:131,1
    - Dst: unsetenv
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: tcmalloc::TcMallocTest::TcMallocTest
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - unsetenv
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - guardedpage_allocator
    linkageType: ''
    returnType: void
    signature: void TcMallocTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:146,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:149,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:152,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:153,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:157,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:157,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:162,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:167,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:176,1
    - Dst: RepeatUnderflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - GetParam
    - RepeatUnderflow
    - auto::get
    - defined
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    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:181,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:184,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:191,1
    - Dst: auto::get
      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: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:197,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:202,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:204,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:211,1
    - Dst: RepeatOverflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - GetParam
    - auto::get
    - defined
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - RepeatOverflow
    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:216,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:219,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:222,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:223,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: auto::get
      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: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:235,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:240,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:244,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:251,1
    - Dst: RepeatZeroByteAccess
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 252
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - RepeatZeroByteAccess
    - std::make_unique<char[]>
    - GetParam
    - auto::get
    - defined
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - GetRequestedSize
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, ZeroByteAccessDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:255,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:258,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:259,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:265,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:269,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:271,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:278,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - GetParam
    - defined
    - char::char
    - benchmark::DoNotOptimize
    - RepeatUseAfterFree
    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:288,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:293,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:294,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:295,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:298,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:299,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:304,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:306,1
    - Dst: RepeatDoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - RepeatDoubleFree
    - ::operator new
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    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:316,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:317,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:319,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:325,1
    - Dst: RepeatOverflowWrite
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - RepeatOverflowWrite
    - benchmark::DoNotOptimize
    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:330,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:330,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:331,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:334,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - free
    - reinterpret_cast<char*>
    - realloc
    - benchmark::DoNotOptimize
    - malloc
    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:341,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:346,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:347,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:350,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:351,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:352,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:353,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:360,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:360,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:362,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:364,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 367
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - RepeatUseAfterFree
    - static_cast<char*>
    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:371,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:372,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:373,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<int*>
    - munmap
    - mmap
    - EXPECT_DEATH
    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:388,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:392,1
    - Dst: absl::bit_cast<uintptr_t>
      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: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:396,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:396,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - guardedpage_allocator
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::make_unique<A>
    - auto::get
    - absl::bit_cast<uintptr_t>
    - benchmark::DoNotOptimize
    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:411,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:415,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:417,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:418,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    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:427,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:428,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:429,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:430,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:431,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:433,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:434,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    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:443,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:449,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:449,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_DEATH
    - free
    - realloc
    - fprintf
    - static_cast<char*>
    - malloc
    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:460,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:463,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:463,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:464,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:469,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:469,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free
    - realloc
    - SCOPED_TRACE
    - GTEST_SKIP
    - static_cast<char*>
    - malloc
    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:480,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:483,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:483,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:484,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:489,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 496
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free
    - realloc
    - SCOPED_TRACE
    - GTEST_SKIP
    - static_cast<char*>
    - malloc
    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:500,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:517,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:518,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:518,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:530,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:530,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:534,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:536,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:539,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:545,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:547,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:549,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:554,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:556,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:561,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 578
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - __size_returning_new_hot_cold
    - SCOPED_TRACE
    - has_value
    - ::operator new
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:582,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:607,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:608,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:608,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:622,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:622,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:623,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:626,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:628,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:630,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:635,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:637,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:642,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:642,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 659
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - __size_returning_new_hot_cold
    - SCOPED_TRACE
    - has_value
    - ::operator new
    - RoundUp
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:663,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:673,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:673,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:677,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:677,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:678,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:682,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:684,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:688,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:688,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 701
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - SCOPED_TRACE
    - ::operator new
    - GTEST_SKIP
    - std::max
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:705,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:714,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:714,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:716,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:720,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:723,1
    - Dst: tcmalloc::TEST_F
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:735,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:737,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:750,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:750,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:752,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:756,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:760,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 766
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - tcmalloc::TEST_F
    - ::operator new
    - GTEST_SKIP
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSizeClassInFreelistInsertion)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:784,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:800,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:803,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:803,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:813,1
    - Dst: SCOPED_TRACE
      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: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:821,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:821,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:822,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:830,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: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:835,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:838,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 848
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - tcmalloc::sized_delete
    - absl::StrCat
    - static_cast<char*>
    - EXPECT_DEATH
    - has_value
    - SCOPED_TRACE
    - ::operator new
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:851,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:856,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:856,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:857,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 863
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - static_cast<char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointerEdgeCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:868,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:870,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:871,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:872,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:879,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:881,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:882,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:883,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:885,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:890,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:892,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:893,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:894,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 900
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - aligned_alloc
    - ::operator delete
    - free
    - ::operator new
    - benchmark::DoNotOptimize
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, AllocationDeallocationConfusion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:907,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:910,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:911,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:912,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 926
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWithoutAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:933,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:935,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:936,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:937,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 950
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:957,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:959,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:961,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:965,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 977
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWrongAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:982,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:989,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:991,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:992,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:994,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 999
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - aligned_alloc
    - EXPECT_DEATH
    - free_aligned_sized
    - GTEST_SKIP
    - free_sized
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithoutAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1006,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1007,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1010,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1011,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1012,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1016,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1018,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1021,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1026,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1028
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - aligned_alloc
    - free_aligned_sized
    - free_sized
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithSameAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1033,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1040,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1042,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1043,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1045,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1051
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free_aligned_sized
    - GTEST_SKIP
    - free_sized
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1056,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1060,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1060,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1062,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1063,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1064,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1070
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - GTEST_SKIP
    - static_cast<char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, InteriorPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1075,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1078,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1080,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1081,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1082,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1090,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1091,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1099
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - absl::bit_cast<void*>
    - EXPECT_DEATH
    - ::operator delete
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NeverAllocatedPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1104,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1109,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1110,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1112,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1113,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1114,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1122,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1123,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1124,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1132,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1133,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1141
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - absl::bit_cast<void*>
    - EXPECT_DEATH
    - absl::bit_width
    - ::operator delete
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NeverAllocatedPointerHighBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:146,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:149,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:152,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:153,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:154,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:157,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:157,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:162,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:167,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:169,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:176,1
    - Dst: RepeatUnderflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - GetParam
    - RepeatUnderflow
    - auto::get
    - defined
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    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:181,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:184,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:187,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:188,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:191,1
    - Dst: auto::get
      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: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:197,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:202,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:204,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:211,1
    - Dst: RepeatOverflow
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - GetParam
    - auto::get
    - defined
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - RepeatOverflow
    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:216,1
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:219,1
    - Dst: std::make_unique<char[]>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:222,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:223,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:226,1
    - Dst: PointerIsMine
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:227,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:227,1
    - Dst: TC_CHECK_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: GetRequestedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:229,1
    - Dst: auto::get
      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: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:235,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:240,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:244,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:251,1
    - Dst: RepeatZeroByteAccess
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 252
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - RepeatZeroByteAccess
    - std::make_unique<char[]>
    - GetParam
    - auto::get
    - defined
    - TC_CHECK_EQ
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - GetRequestedSize
    - PointerIsMine
    linkageType: ''
    returnType: void
    signature: void TEST_P(ReadWriteTcMallocTest, ZeroByteAccessDetected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:255,1
    - Dst: char::char
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:258,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:259,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:265,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:269,1
    - Dst: defined
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:271,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:278,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: tcmalloc::TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - GetParam
    - defined
    - char::char
    - benchmark::DoNotOptimize
    - RepeatUseAfterFree
    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:288,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:293,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:294,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:295,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:298,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:299,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:304,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:306,1
    - Dst: RepeatDoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - RepeatDoubleFree
    - ::operator new
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    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:316,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:317,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:319,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:322,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:325,1
    - Dst: RepeatOverflowWrite
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - std::make_unique<char[]>
    - RepeatOverflowWrite
    - benchmark::DoNotOptimize
    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:330,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:330,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:331,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:332,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:334,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - free
    - reinterpret_cast<char*>
    - realloc
    - benchmark::DoNotOptimize
    - malloc
    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:341,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:346,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:347,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:350,1
    - Dst: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:351,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:352,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:353,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:360,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:360,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:362,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:362,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:364,1
    - Dst: RepeatUseAfterFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 367
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - guardedpage_allocator
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    - GTEST_SKIP
    - RepeatUseAfterFree
    - static_cast<char*>
    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:371,1
    - Dst: mmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:372,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:373,1
    - Dst: munmap
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - static_cast<int*>
    - munmap
    - mmap
    - EXPECT_DEATH
    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:388,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:392,1
    - Dst: absl::bit_cast<uintptr_t>
      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: guardedpage_allocator
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:396,1
    - Dst: auto::get
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:396,1
    - Dst: EXPECT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - guardedpage_allocator
    - EXPECT_EQ
    - EXPECT_TRUE
    - std::make_unique<A>
    - auto::get
    - absl::bit_cast<uintptr_t>
    - benchmark::DoNotOptimize
    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:411,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:413,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:414,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:415,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:417,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:418,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    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:427,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:428,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:429,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:430,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:431,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:433,1
    - Dst: DoubleFree
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:434,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - DoubleFree
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - benchmark::DoNotOptimize
    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:443,1
    - Dst: fprintf
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:445,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:448,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:449,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:449,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_DEATH
    - free
    - realloc
    - fprintf
    - static_cast<char*>
    - malloc
    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:460,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:463,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:463,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:464,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:468,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:469,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:469,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free
    - realloc
    - SCOPED_TRACE
    - GTEST_SKIP
    - static_cast<char*>
    - malloc
    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:480,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:483,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:483,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:484,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:488,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:489,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 496
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free
    - realloc
    - SCOPED_TRACE
    - GTEST_SKIP
    - static_cast<char*>
    - malloc
    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:500,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:517,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:518,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:518,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:530,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:530,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:534,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:536,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:539,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:545,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:547,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:549,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:554,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:556,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:561,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 578
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - __size_returning_new_hot_cold
    - SCOPED_TRACE
    - has_value
    - ::operator new
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:582,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:607,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:608,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:608,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:622,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:622,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:623,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:626,1
    - Dst: __size_returning_new_hot_cold
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:628,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:630,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:635,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:637,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:642,1
    - Dst: RoundUp
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:642,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 659
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - __size_returning_new_hot_cold
    - SCOPED_TRACE
    - has_value
    - ::operator new
    - RoundUp
    - GTEST_SKIP
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:663,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:673,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:673,1
    - Dst: tcmalloc::MallocExtension::GetEstimatedAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:674,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:677,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:677,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:678,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:682,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:684,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:688,1
    - Dst: std::max
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:688,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 701
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - __size_returning_new
    - SCOPED_TRACE
    - ::operator new
    - GTEST_SKIP
    - std::max
    - tcmalloc::MallocExtension::GetEstimatedAllocatedSize
    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:705,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:714,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:714,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:716,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:720,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:723,1
    - Dst: tcmalloc::TEST_F
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:735,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:737,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:750,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:750,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:752,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:756,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:760,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 766
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - tcmalloc::TEST_F
    - ::operator new
    - GTEST_SKIP
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, MismatchedSizeClassInFreelistInsertion)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:784,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:800,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:800,1
    - Dst: SCOPED_TRACE
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:803,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:803,1
    - Dst: static_cast<size_t>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:813,1
    - Dst: SCOPED_TRACE
      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: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:821,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:821,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:822,1
    - Dst: has_value
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:830,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: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:833,1
    - Dst: tcmalloc::sized_delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:835,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:838,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 848
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - tcmalloc::sized_delete
    - absl::StrCat
    - static_cast<char*>
    - EXPECT_DEATH
    - has_value
    - SCOPED_TRACE
    - ::operator new
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:851,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:856,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:856,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:857,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 863
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - static_cast<char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, CorruptedPointerEdgeCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:868,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:870,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:871,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:872,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:874,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:879,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:881,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:882,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:883,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:885,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:890,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:892,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:893,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:894,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 900
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - aligned_alloc
    - ::operator delete
    - free
    - ::operator new
    - benchmark::DoNotOptimize
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, AllocationDeallocationConfusion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:907,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:910,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:911,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:912,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 926
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWithoutAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:933,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:935,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:936,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:937,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 950
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWithAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:957,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:959,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:961,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:965,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 977
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - ::operator delete
    - absl::StrCat
    - ::operator new
    - EXPECT_DEATH
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, DeleteWrongAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:982,1
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:989,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:991,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:992,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:994,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 999
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - aligned_alloc
    - EXPECT_DEATH
    - free_aligned_sized
    - GTEST_SKIP
    - free_sized
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithoutAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1006,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1007,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1010,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1011,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1012,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1016,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1018,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1021,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1026,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1028
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - aligned_alloc
    - free_aligned_sized
    - free_sized
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithSameAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1033,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1040,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1042,1
    - Dst: free_aligned_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1043,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1045,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1051
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - free_aligned_sized
    - GTEST_SKIP
    - free_sized
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, FreeWithAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1056,1
    - Dst: static_cast<char*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1060,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1060,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1062,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1063,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1064,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1070
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - EXPECT_DEATH
    - ::operator delete
    - ::operator new
    - GTEST_SKIP
    - static_cast<char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, InteriorPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1075,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1078,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1080,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1081,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1082,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1090,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1091,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1099
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - absl::bit_cast<void*>
    - EXPECT_DEATH
    - ::operator delete
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NeverAllocatedPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1104,1
    - Dst: absl::bit_width
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1109,1
    - Dst: absl::bit_cast<void*>
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1110,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1112,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1113,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1114,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1122,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1123,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1124,1
    - Dst: EXPECT_DEATH
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1132,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1133,1
    - Dst: absl::StrCat
      Src: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1141
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/memory_errors_test.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    - absl::bit_cast<void*>
    - EXPECT_DEATH
    - absl::bit_width
    - ::operator delete
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(TcMallocTest, NeverAllocatedPointerHighBits)
  - 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: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    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 =
      kDefaultMutability)"
  - 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: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    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 = kDefaultMutability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    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:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - GetAllocatedSize
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:110,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:111,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:114,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:116,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:116,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - DeleteCall
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:122,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:123,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:126,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:128,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:128,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:130,1
    - Dst: std::make_optional
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - DeleteCall
    - Log
    - std::make_optional
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - free_sized
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeSizedInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, CallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:144,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:146,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:149,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:163,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:165,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:168,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:182,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:184,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:187,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:192,1
    - Dst: testing::AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:193,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:200,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:200,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:205,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - testing::AnyOf
    - DeleteCall
    - ElementsAre
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - calloc
    - UnorderedElementsAre
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocPopInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:215,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:216,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:217,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:220,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:234,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - free
    - Log
    - NewCall
    - strdup
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, StrDupInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:241,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - posix_memalign
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PosixMemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - memalign
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - valloc
    - Log
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, VallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:275,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:275,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - sysconf
    - NewCall
    - EXPECT_THAT
    - pvalloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PvallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - NewCall
    - ::operator new
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - Log
    - ::operator new[]
    - NewCall
    - EXPECT_THAT
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - NewCall
    - ::operator new
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - Log
    - ::operator new[]
    - NewCall
    - EXPECT_THAT
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:310,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:311,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:312,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:316,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:317,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:317,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:318,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteInvokesHook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:322,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:323,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:324,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:329,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:340,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:340,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:342,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:342,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - 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:348,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:349,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:350,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:353,1
    - Dst: ::operator delete[]
      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:356,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteArrayInvokesHook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:360,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:361,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:362,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:365,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:367,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:369,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:377,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:377,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:378,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:378,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:380,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:380,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:381,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 383
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - 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:386,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:387,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:388,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:391,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:392,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:393,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:393,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:394,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - 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:398,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:399,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:400,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:403,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:404,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:405,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:405,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:406,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - 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:410,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:411,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:411,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - __size_returning_new
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    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:417,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:418,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:422,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:423,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:425,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:428,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:429,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:430,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:433,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:435,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:436,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 440
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - EXPECT_EQ
    - RestartLog
    - ElementsAre
    - ::operator delete
    - Log
    - __size_returning_new
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new[]
    - EXPECT_THAT
    - NewCall
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - ::operator delete[]
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - GetAllocatedSize
    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: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    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: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    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 =
      kDefaultMutability)"
  - 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: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    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 = kDefaultMutability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    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:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - GetAllocatedSize
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:110,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:111,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:114,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:116,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:116,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - DeleteCall
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:122,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:123,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:126,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:128,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:128,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:130,1
    - Dst: std::make_optional
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - DeleteCall
    - Log
    - std::make_optional
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - free_sized
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeSizedInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, CallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:144,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:146,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:149,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:163,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:165,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:168,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:182,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:184,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:187,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:192,1
    - Dst: testing::AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:193,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:200,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:200,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:205,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - testing::AnyOf
    - DeleteCall
    - ElementsAre
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - calloc
    - UnorderedElementsAre
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocPopInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:215,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:216,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:217,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:220,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:234,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - free
    - Log
    - NewCall
    - strdup
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, StrDupInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:241,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - posix_memalign
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PosixMemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - memalign
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - valloc
    - Log
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, VallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:275,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:275,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - sysconf
    - NewCall
    - EXPECT_THAT
    - pvalloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PvallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - NewCall
    - ::operator new
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - Log
    - ::operator new[]
    - NewCall
    - EXPECT_THAT
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - NewCall
    - ::operator new
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - Log
    - ::operator new[]
    - NewCall
    - EXPECT_THAT
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:310,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:311,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:312,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:316,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:317,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:317,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:318,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteInvokesHook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:322,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:323,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:324,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:329,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:340,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:340,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:342,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:342,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - 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:348,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:349,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:350,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:353,1
    - Dst: ::operator delete[]
      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:356,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteArrayInvokesHook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:360,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:361,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:362,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:365,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:367,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:369,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:377,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:377,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:378,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:378,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:380,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:380,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:381,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 383
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - 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:386,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:387,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:388,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:391,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:392,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:393,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:393,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:394,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - 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:398,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:399,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:400,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:403,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:404,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:405,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:405,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:406,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - 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:410,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:411,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:411,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - __size_returning_new
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    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:417,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:418,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:422,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:423,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:425,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:428,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:429,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:430,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:433,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:435,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:436,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 440
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - EXPECT_EQ
    - RestartLog
    - ElementsAre
    - ::operator delete
    - Log
    - __size_returning_new
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new[]
    - EXPECT_THAT
    - NewCall
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - ::operator delete[]
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - GetAllocatedSize
    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: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    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: 470
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 470
    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: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    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 =
      kDefaultMutability)"
  - 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: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    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 = kDefaultMutability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    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:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - GetAllocatedSize
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:110,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:111,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:114,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:116,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:116,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - DeleteCall
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:122,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:123,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:126,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:128,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:128,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:130,1
    - Dst: std::make_optional
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - DeleteCall
    - Log
    - std::make_optional
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - free_sized
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeSizedInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, CallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:144,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:146,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:149,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:163,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:165,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:168,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:182,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:184,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:187,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:192,1
    - Dst: testing::AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:193,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:200,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:200,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:205,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - testing::AnyOf
    - DeleteCall
    - ElementsAre
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - calloc
    - UnorderedElementsAre
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocPopInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:215,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:216,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:217,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:220,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:234,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - free
    - Log
    - NewCall
    - strdup
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, StrDupInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:241,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - posix_memalign
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PosixMemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - memalign
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - valloc
    - Log
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, VallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:275,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:275,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - sysconf
    - NewCall
    - EXPECT_THAT
    - pvalloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PvallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - NewCall
    - ::operator new
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - Log
    - ::operator new[]
    - NewCall
    - EXPECT_THAT
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - NewCall
    - ::operator new
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - Log
    - ::operator new[]
    - NewCall
    - EXPECT_THAT
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:310,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:311,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:312,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:316,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:317,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:317,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:318,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteInvokesHook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:322,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:323,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:324,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:329,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:340,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:340,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:342,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:342,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - 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:348,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:349,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:350,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:353,1
    - Dst: ::operator delete[]
      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:356,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteArrayInvokesHook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:360,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:361,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:362,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:365,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:367,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:369,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:377,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:377,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:378,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:378,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:380,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:380,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:381,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 383
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - 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:386,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:387,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:388,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:391,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:392,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:393,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:393,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:394,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - 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:398,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:399,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:400,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:403,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:404,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:405,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:405,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:406,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - 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:410,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:411,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:411,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - __size_returning_new
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    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:417,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:418,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:422,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:423,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:425,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:428,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:429,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:430,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:433,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:435,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:436,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 440
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - EXPECT_EQ
    - RestartLog
    - ElementsAre
    - ::operator delete
    - Log
    - __size_returning_new
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new[]
    - EXPECT_THAT
    - NewCall
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - ::operator delete[]
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - GetAllocatedSize
    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: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    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: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    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 =
      kDefaultMutability)"
  - 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: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    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 = kDefaultMutability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_mmap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    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:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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:104,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:105,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - GetAllocatedSize
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:110,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:111,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:114,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:116,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:116,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:117,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - DeleteCall
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:122,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:123,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:126,1
    - Dst: free_sized
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:128,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:128,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:129,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:130,1
    - Dst: std::make_optional
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - malloc
    - ElementsAre
    - DeleteCall
    - Log
    - std::make_optional
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - free_sized
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, FreeSizedInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:138,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:139,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - calloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, CallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:144,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:145,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:146,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:149,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:152,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:156,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:163,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:164,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:165,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:168,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:171,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:175,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:182,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:183,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:184,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:187,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:191,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:192,1
    - Dst: testing::AnyOf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:193,1
    - Dst: UnorderedElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:197,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:198,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:200,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:200,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:203,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:205,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - testing::AnyOf
    - DeleteCall
    - ElementsAre
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - calloc
    - UnorderedElementsAre
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, ReallocPopInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:215,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:216,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:217,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:220,1
    - Dst: realloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:223,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:227,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - IsEmpty
    - free
    - Log
    - realloc
    - NewCall
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - 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:234,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:235,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - free
    - Log
    - NewCall
    - strdup
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, StrDupInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:241,1
    - Dst: posix_memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:245,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ASSERT_EQ
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - posix_memalign
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PosixMemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memalign
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:255,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - NewCall
    - EXPECT_THAT
    - memalign
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, MemalignInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:265,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - valloc
    - Log
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, VallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:272,1
    - Dst: pvalloc
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:273,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:275,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:275,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: IsEmpty
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:278,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - IsEmpty
    - free
    - Log
    - sysconf
    - NewCall
    - EXPECT_THAT
    - pvalloc
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, PvallocInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:287,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - NewCall
    - ::operator new
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:293,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - Log
    - ::operator new[]
    - NewCall
    - EXPECT_THAT
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:299,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - NewCall
    - ::operator new
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:305,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - Log
    - ::operator new[]
    - NewCall
    - EXPECT_THAT
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, NothrowOperatorNewArrayInvokesHook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:310,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:311,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:312,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:315,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:316,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:317,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:317,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:318,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteInvokesHook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:322,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:323,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:324,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:327,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:329,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:339,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:340,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:340,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:342,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:342,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - 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:348,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:349,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:350,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:353,1
    - Dst: ::operator delete[]
      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:356,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - GetAllocatedSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(TCMallocHookTest, OperatorDeleteArrayInvokesHook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:360,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:361,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:362,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:365,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:367,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:369,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:377,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:377,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:378,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:378,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:380,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:380,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:381,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 383
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - 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:386,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:387,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:388,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:391,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:392,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:393,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:393,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:394,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ::operator delete
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new
    - benchmark::DoNotOptimize
    - EXPECT_THAT
    - 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:398,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:399,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:400,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:403,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:404,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:405,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:405,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:406,1
    - Dst: DeleteCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - RestartLog
    - ElementsAre
    - DeleteCall
    - Log
    - ::operator new[]
    - EXPECT_THAT
    - benchmark::DoNotOptimize
    - ::operator delete[]
    - 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:410,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:411,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:411,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:412,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - ElementsAre
    - ::operator delete
    - Log
    - __size_returning_new
    - NewCall
    - EXPECT_THAT
    - GetAllocatedSize
    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:417,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:418,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:422,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:423,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:425,1
    - Dst: ::operator new[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:428,1
    - Dst: ::operator delete[]
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:429,1
    - Dst: RestartLog
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:430,1
    - Dst: __size_returning_new
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:433,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: Log
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: ElementsAre
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: NewCall
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:435,1
    - Dst: GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:436,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:438,1
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 440
    functionName: tcmalloc::TEST_F
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 4
    functionsReached:
    - EXPECT_EQ
    - RestartLog
    - ElementsAre
    - ::operator delete
    - Log
    - __size_returning_new
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new[]
    - EXPECT_THAT
    - NewCall
    - tcmalloc::MallocExtension::ActivateGuardedSampling
    - ::operator delete[]
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - GetAllocatedSize
    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: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    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: 470
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 470
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:495,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:497,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:498,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:503,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:506,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:507,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:509,1
    - Dst: GTEST_SKIP
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:515,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:519,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:520,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:522,1
    - Dst: SetNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:525,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:527,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:529,1
    - Dst: SetNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:530,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:531,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:532,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:534,1
    - Dst: ResetNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:535,1
    - Dst: ResetNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:536,1
    - Dst: SetDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:538,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:539,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:540,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:542,1
    - Dst: SetDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:543,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:544,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:545,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:547,1
    - Dst: ResetDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:548,1
    - Dst: ResetDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:549,1
    - Dst: SetSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:551,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:552,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:553,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:555,1
    - Dst: SetSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:556,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:557,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:558,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:560,1
    - Dst: ResetSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:561,1
    - Dst: ResetSampledNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:562,1
    - Dst: SetSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:564,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:566,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:568,1
    - Dst: SetSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:569,1
    - Dst: tcmalloc::MallocExtension::GetStats
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:570,1
    - Dst: EXPECT_THAT
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:571,1
    - Dst: HasSubstr
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:573,1
    - Dst: ResetSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:574,1
    - Dst: ResetSampledDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 576
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 2
    functionsReached:
    - SetDeleteHook
    - size
    - ResetNewHook
    - EXPECT_GT
    - tcmalloc::MallocExtension::GetStats
    - SetNewHook
    - ResetDeleteHook
    - SetSampledNewHook
    - SetSampledDeleteHook
    - ResetSampledDeleteHook
    - ResetSampledNewHook
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::LeakCheckerIsActive
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(TCMallocTest, GetStatsReportsHooks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:584,1
    - Dst: TC_CHECK
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:587,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:591,1
    - Dst: MallocHook::AddNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:591,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:592,1
    - Dst: MallocHook::AddDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:592,1
    - Dst: tcmalloc::MallocExtension::MarkThreadBusy
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:594,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:596,1
    - Dst: MallocHook::RemoveNewHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:596,1
    - Dst: ASSERT_TRUE
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:597,1
    - Dst: MallocHook::RemoveDeleteHook
      Src: /src/tcmalloc/tcmalloc/testing/hooks_test.cc:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 599
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/hooks_test.cc
    functionUses: 2
    functionsReached:
    - TC_CHECK
    - MallocHook::AddNewHook
    - MallocHook::AddDeleteHook
    - MallocHook::RemoveNewHook
    - MallocHook::RemoveDeleteHook
    - ASSERT_TRUE
    - tcmalloc::MallocExtension::MarkThreadBusy
    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:
    - tcmalloc::hot_cold_t
    - operator new
    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:
    - std::align_val_t
    - operator new
    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:
    - realloc
    - malloc
    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:
    - reallocarray
    - malloc
    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:
    - posix_memalign
    - abort
    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:
    - __size_returning_new_hot_cold
    - tcmalloc::hot_cold_t
    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:
    - std::align_val_t
    - tcmalloc_size_returning_operator_new_aligned_nothrow
    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:
    - tcmalloc::hot_cold_t
    - std::align_val_t
    - __size_returning_new_aligned_hot_cold
    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:366,1
    - Dst: check
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:369,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:375,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 378
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 2
    functionsReached:
    - absl::flat_hash_map::find
    - EXPECT_GT
    - begin
    - absl::Symbolize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - Iterate
    - std::regex_search
    - fprintf
    - absl::StrReplaceAll
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - check
    - std::move
    - end
    - EXPECT_FALSE
    - absl::flat_hash_map::end
    - std::vector::push_back
    - c_str
    - ASSERT_NE
    - empty
    - std::vector::size
    - profile_test_top_func
    - snprintf
    - strstr
    - strchr
    - absl::StrContains
    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:
    - tcmalloc::hot_cold_t
    - operator new
    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:
    - std::align_val_t
    - operator new
    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:
    - realloc
    - malloc
    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:
    - reallocarray
    - malloc
    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:
    - posix_memalign
    - abort
    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:
    - __size_returning_new_hot_cold
    - tcmalloc::hot_cold_t
    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:
    - std::align_val_t
    - tcmalloc_size_returning_operator_new_aligned_nothrow
    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:
    - tcmalloc::hot_cold_t
    - std::align_val_t
    - __size_returning_new_aligned_hot_cold
    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:366,1
    - Dst: check
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:369,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:375,1
    - Dst: EXPECT_FALSE
      Src: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc:376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 378
    functionName: TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/profile_drop_frames_test.cc
    functionUses: 2
    functionsReached:
    - absl::flat_hash_map::find
    - EXPECT_GT
    - begin
    - absl::Symbolize
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - Iterate
    - std::regex_search
    - fprintf
    - absl::StrReplaceAll
    - tcmalloc::MallocExtension::StartLifetimeProfiling
    - check
    - std::move
    - end
    - EXPECT_FALSE
    - absl::flat_hash_map::end
    - std::vector::push_back
    - c_str
    - ASSERT_NE
    - empty
    - std::vector::size
    - profile_test_top_func
    - snprintf
    - strstr
    - strchr
    - absl::StrContains
    linkageType: ''
    returnType: void
    signature: void TEST(AllocationSampleTest, ProfileDropFrames)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ptrs::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:79,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:86,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:89,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:99,1
    - Dst: requested_alignment::value_or
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:101,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:114,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::ptrs::emplace_back
    - EXPECT_GT
    - std::move
    - ASSERT_EQ
    - requested_alignment::value_or
    - tcmalloc::ptrs::reserve
    - tcmalloc::ptrs::size
    - TypeParam::TypeParam
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - static_cast<std::align_val_t>
    - benchmark::DoNotOptimize
    - 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:127,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:137,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:137,1
    - Dst: tcmalloc::ptrs::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - ASSERT_EQ
    - ASSERT_FALSE
    - TypeParam::TypeParam
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::ptrs::clear
    - absl::LeakCheckerIsActive
    - tcmalloc::ptrs::size
    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:165,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:165,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:169,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    - Dst: NonTrivial::NonTrivial
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:176,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 180
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::vector::emplace_back
    - NonTrivial::NonTrivial
    - std::vector::size
    - absl::LeakCheckerIsActive
    - std::vector::clear
    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: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: ~NonTrivial()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonTrivial()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:192,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:195,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:197,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:200,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:200,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:203,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:206,1
    - Dst: requested_alignment::has_value
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:211,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 230
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - std::vector::reserve
    - std::vector::push_back
    - requested_alignment::has_value
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(UnderalignedNew, Profiled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ptrs::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:79,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:86,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:89,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:99,1
    - Dst: requested_alignment::value_or
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:101,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:114,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::ptrs::emplace_back
    - EXPECT_GT
    - std::move
    - ASSERT_EQ
    - requested_alignment::value_or
    - tcmalloc::ptrs::reserve
    - tcmalloc::ptrs::size
    - TypeParam::TypeParam
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - static_cast<std::align_val_t>
    - benchmark::DoNotOptimize
    - 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:127,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:137,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:137,1
    - Dst: tcmalloc::ptrs::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - ASSERT_EQ
    - ASSERT_FALSE
    - TypeParam::TypeParam
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::ptrs::clear
    - absl::LeakCheckerIsActive
    - tcmalloc::ptrs::size
    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:165,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:165,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:169,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    - Dst: NonTrivial::NonTrivial
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:176,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 180
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::vector::emplace_back
    - NonTrivial::NonTrivial
    - std::vector::size
    - absl::LeakCheckerIsActive
    - std::vector::clear
    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: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: ~NonTrivial()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonTrivial()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:192,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:195,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:197,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:200,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:200,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:203,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:206,1
    - Dst: requested_alignment::has_value
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:211,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 230
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - std::vector::reserve
    - std::vector::push_back
    - requested_alignment::has_value
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(UnderalignedNew, Profiled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ptrs::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:79,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:86,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:89,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:99,1
    - Dst: requested_alignment::value_or
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:101,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:114,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::ptrs::emplace_back
    - EXPECT_GT
    - std::move
    - ASSERT_EQ
    - requested_alignment::value_or
    - tcmalloc::ptrs::reserve
    - tcmalloc::ptrs::size
    - TypeParam::TypeParam
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - static_cast<std::align_val_t>
    - benchmark::DoNotOptimize
    - 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:127,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:137,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:137,1
    - Dst: tcmalloc::ptrs::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - ASSERT_EQ
    - ASSERT_FALSE
    - TypeParam::TypeParam
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::ptrs::clear
    - absl::LeakCheckerIsActive
    - tcmalloc::ptrs::size
    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:165,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:165,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:169,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    - Dst: NonTrivial::NonTrivial
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:176,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 180
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::vector::emplace_back
    - NonTrivial::NonTrivial
    - std::vector::size
    - absl::LeakCheckerIsActive
    - std::vector::clear
    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: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: ~NonTrivial()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonTrivial()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:192,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:195,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:197,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:200,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:200,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:203,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:206,1
    - Dst: requested_alignment::has_value
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:211,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 230
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - std::vector::reserve
    - std::vector::push_back
    - requested_alignment::has_value
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(UnderalignedNew, Profiled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::ptrs::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:77,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:79,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:82,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:83,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:84,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:86,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:89,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:99,1
    - Dst: requested_alignment::value_or
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:101,1
    - Dst: static_cast<std::align_val_t>
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:108,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:114,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - tcmalloc::ptrs::emplace_back
    - EXPECT_GT
    - std::move
    - ASSERT_EQ
    - requested_alignment::value_or
    - tcmalloc::ptrs::reserve
    - tcmalloc::ptrs::size
    - TypeParam::TypeParam
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - static_cast<std::align_val_t>
    - benchmark::DoNotOptimize
    - 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:127,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:127,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:131,1
    - Dst: tcmalloc::ptrs::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    - Dst: TypeParam::TypeParam
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:137,1
    - Dst: tcmalloc::ptrs::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:137,1
    - Dst: tcmalloc::ptrs::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - tcmalloc::ptrs::emplace_back
    - ASSERT_EQ
    - ASSERT_FALSE
    - TypeParam::TypeParam
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - tcmalloc::ptrs::clear
    - absl::LeakCheckerIsActive
    - tcmalloc::ptrs::size
    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:165,1
    - Dst: absl::LeakCheckerIsActive
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:165,1
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:169,1
    - Dst: std::vector::emplace_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    - Dst: NonTrivial::NonTrivial
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:173,1
    - Dst: ASSERT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:176,1
    - Dst: std::vector::size
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:176,1
    - Dst: std::vector::clear
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 180
    functionName: tcmalloc::TYPED_TEST_P
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_FALSE
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - std::vector::emplace_back
    - NonTrivial::NonTrivial
    - std::vector::size
    - absl::LeakCheckerIsActive
    - std::vector::clear
    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: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: ~NonTrivial()
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonTrivial()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::GetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:192,1
    - Dst: std::vector::reserve
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:195,1
    - Dst: tcmalloc::MallocExtension::StartAllocationProfiling
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:197,1
    - Dst: std::vector::push_back
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:200,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:200,1
    - Dst: std::move
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:203,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:206,1
    - Dst: requested_alignment::has_value
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:211,1
    - Dst: EXPECT_GT
      Src: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 230
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_GT
    - std::move
    - tcmalloc::MallocExtension::StartAllocationProfiling
    - tcmalloc::MallocExtension::GetProfileSamplingInterval
    - ::operator new
    - std::vector::reserve
    - std::vector::push_back
    - requested_alignment::has_value
    - auto::Iterate
    linkageType: ''
    returnType: void
    signature: void TEST(UnderalignedNew, Profiled)
  - 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:
    - tcmalloc::StackMatches
    - Profile::Iterate
    - 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:
    - posix_memalign
    - TC_CHECK_EQ
    - malloc
    - benchmark::DoNotOptimize
    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:
    - EXPECT_GE
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::bit_width
    - GetParam
    - free
    - tcmalloc::AllocateAllocate
    - nallocx
    - EXPECT_LE
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc::CountMatchingBytes
    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:
    - ::operator new
    - ::benchmark::DoNotOptimize
    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:
    - EXPECT_GT
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ASSERT_THAT
    - tcmalloc::AllocateZeroByte
    - ::operator delete
    - std::vector::reserve
    - testing::Ne
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - tcmalloc::CountMatchingBytes
    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::sized_delete
    - EXPECT_GT
    - EXPECT_NEAR
    - testing::Ne
    - std::vector::reserve
    - tcmalloc::MallocExtension::GetNumericProperty
    - tcmalloc::MallocExtension::GetStats
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - push_back
    - std::string::find
    - reserve
    - sscanf
    - tcmalloc::GetHeapSnapshotNoinline
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - ::operator new
    - ProfiledFragmentation
    - tcmalloc::StackMatches
    - EXPECT_GE
    - LOG
    - std::string::c_str
    - auto::Iterate
    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:
    - tcmalloc::StackMatches
    - Profile::Iterate
    - 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:
    - posix_memalign
    - TC_CHECK_EQ
    - malloc
    - benchmark::DoNotOptimize
    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:
    - EXPECT_GE
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::bit_width
    - GetParam
    - free
    - tcmalloc::AllocateAllocate
    - nallocx
    - EXPECT_LE
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc::CountMatchingBytes
    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:
    - ::operator new
    - ::benchmark::DoNotOptimize
    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:
    - EXPECT_GT
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ASSERT_THAT
    - tcmalloc::AllocateZeroByte
    - ::operator delete
    - std::vector::reserve
    - testing::Ne
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - tcmalloc::CountMatchingBytes
    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::sized_delete
    - EXPECT_GT
    - EXPECT_NEAR
    - testing::Ne
    - std::vector::reserve
    - tcmalloc::MallocExtension::GetNumericProperty
    - tcmalloc::MallocExtension::GetStats
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - push_back
    - std::string::find
    - reserve
    - sscanf
    - tcmalloc::GetHeapSnapshotNoinline
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - ::operator new
    - ProfiledFragmentation
    - tcmalloc::StackMatches
    - EXPECT_GE
    - LOG
    - std::string::c_str
    - auto::Iterate
    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:
    - tcmalloc::StackMatches
    - Profile::Iterate
    - 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:
    - posix_memalign
    - TC_CHECK_EQ
    - malloc
    - benchmark::DoNotOptimize
    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:
    - EXPECT_GE
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::bit_width
    - GetParam
    - free
    - tcmalloc::AllocateAllocate
    - nallocx
    - EXPECT_LE
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc::CountMatchingBytes
    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:
    - ::operator new
    - ::benchmark::DoNotOptimize
    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:
    - EXPECT_GT
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ASSERT_THAT
    - tcmalloc::AllocateZeroByte
    - ::operator delete
    - std::vector::reserve
    - testing::Ne
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - tcmalloc::CountMatchingBytes
    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::sized_delete
    - EXPECT_GT
    - EXPECT_NEAR
    - testing::Ne
    - std::vector::reserve
    - tcmalloc::MallocExtension::GetNumericProperty
    - tcmalloc::MallocExtension::GetStats
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - push_back
    - std::string::find
    - reserve
    - sscanf
    - tcmalloc::GetHeapSnapshotNoinline
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - ::operator new
    - ProfiledFragmentation
    - tcmalloc::StackMatches
    - EXPECT_GE
    - LOG
    - std::string::c_str
    - auto::Iterate
    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:
    - tcmalloc::StackMatches
    - Profile::Iterate
    - 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:
    - posix_memalign
    - TC_CHECK_EQ
    - malloc
    - benchmark::DoNotOptimize
    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:
    - EXPECT_GE
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - absl::bit_width
    - GetParam
    - free
    - tcmalloc::AllocateAllocate
    - nallocx
    - EXPECT_LE
    - std::vector::reserve
    - std::vector::push_back
    - tcmalloc::CountMatchingBytes
    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:
    - ::operator new
    - ::benchmark::DoNotOptimize
    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:
    - EXPECT_GT
    - EXPECT_EQ
    - tcmalloc::MallocExtension::SnapshotCurrent
    - ASSERT_THAT
    - tcmalloc::AllocateZeroByte
    - ::operator delete
    - std::vector::reserve
    - testing::Ne
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - tcmalloc::CountMatchingBytes
    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::sized_delete
    - EXPECT_GT
    - EXPECT_NEAR
    - testing::Ne
    - std::vector::reserve
    - tcmalloc::MallocExtension::GetNumericProperty
    - tcmalloc::MallocExtension::GetStats
    - EXPECT_EQ
    - tcmalloc::MallocExtension::GetAllocatedSize
    - std::vector::push_back
    - push_back
    - std::string::find
    - reserve
    - sscanf
    - tcmalloc::GetHeapSnapshotNoinline
    - ASSERT_EQ
    - ASSERT_THAT
    - ASSERT_NE
    - ::operator new
    - ProfiledFragmentation
    - tcmalloc::StackMatches
    - EXPECT_GE
    - LOG
    - std::string::c_str
    - auto::Iterate
    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:44,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: tcmalloc::HeapProfileReport
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - auto::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    linkageType: ''
    returnType: double
    signature: double HeapProfileReport(size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:60,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:65,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:65,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:76,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:77,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:83,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:85,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:90,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:91,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:94,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:97,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:101,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 104
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_NEAR
    - ::operator delete
    - free
    - tcmalloc::HeapProfileReport
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new
    - tcmalloc_internal::LinkedList::Push
    - tcmalloc::MallocExtension::GetAllocatedSize
    - EXPECT_NE
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - malloc
    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:44,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: tcmalloc::HeapProfileReport
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 1
    functionsReached:
    - auto::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    linkageType: ''
    returnType: double
    signature: double HeapProfileReport(size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:60,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:65,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:65,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:76,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:77,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:83,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:85,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:90,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:91,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:94,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:97,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:101,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 104
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_NEAR
    - ::operator delete
    - free
    - tcmalloc::HeapProfileReport
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new
    - tcmalloc_internal::LinkedList::Push
    - tcmalloc::MallocExtension::GetAllocatedSize
    - EXPECT_NE
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - malloc
    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:44,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: tcmalloc::HeapProfileReport
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 2
    functionsReached:
    - auto::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    linkageType: ''
    returnType: double
    signature: double HeapProfileReport(size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:60,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:65,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:65,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:76,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:77,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:83,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:85,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:90,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:91,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:94,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:97,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:101,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 104
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_NEAR
    - ::operator delete
    - free
    - tcmalloc::HeapProfileReport
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new
    - tcmalloc_internal::LinkedList::Push
    - tcmalloc::MallocExtension::GetAllocatedSize
    - EXPECT_NE
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - malloc
    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:44,1
    - Dst: auto::Iterate
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: tcmalloc::HeapProfileReport
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 3
    functionsReached:
    - auto::Iterate
    - tcmalloc::MallocExtension::SnapshotCurrent
    linkageType: ''
    returnType: double
    signature: double HeapProfileReport(size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcmalloc::MallocExtension::SetProfileSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:58,1
    - Dst: tcmalloc::MallocExtension::SetGuardedSamplingInterval
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:60,1
    - Dst: ::operator delete
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:65,1
    - Dst: ::operator new
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:65,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:76,1
    - Dst: tcmalloc::MallocExtension::GetAllocatedSize
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:76,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:77,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:83,1
    - Dst: tcmalloc_internal::LinkedList::LinkedList
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:85,1
    - Dst: malloc
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:89,1
    - Dst: EXPECT_NE
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:90,1
    - Dst: tcmalloc_internal::LinkedList::Push
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:91,1
    - Dst: tcmalloc::HeapProfileReport
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:94,1
    - Dst: EXPECT_NEAR
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:97,1
    - Dst: tcmalloc_internal::LinkedList::TryPop
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:101,1
    - Dst: free
      Src: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 104
    functionName: tcmalloc::TEST
    functionSourceFile: /src/tcmalloc/tcmalloc/testing/sample_size_class_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_NEAR
    - ::operator delete
    - free
    - tcmalloc::HeapProfileReport
    - tcmalloc_internal::LinkedList::LinkedList
    - tcmalloc_internal::LinkedList::TryPop
    - tcmalloc::MallocExtension::SetGuardedSamplingInterval
    - ::operator new
    - tcmalloc_internal::LinkedList::Push
    - tcmalloc::MallocExtension::GetAllocatedSize
    - EXPECT_NE
    - tcmalloc::MallocExtension::SetProfileSamplingInterval
    - malloc
    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:
    - end
    - TC_CHECK
    - find
    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:
    - PropertyMap::count
    - EXPECT_LE
    - ASSERT_NE
    - tcmalloc::MallocExtension::GetProperties
    - tcmalloc::Property
    - tcmalloc_internal::NumCPUs
    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:
    - end
    - TC_CHECK
    - find
    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:
    - PropertyMap::count
    - EXPECT_LE
    - ASSERT_NE
    - tcmalloc::MallocExtension::GetProperties
    - tcmalloc::Property
    - tcmalloc_internal::NumCPUs
    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:
    - end
    - TC_CHECK
    - find
    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:
    - PropertyMap::count
    - EXPECT_LE
    - ASSERT_NE
    - tcmalloc::MallocExtension::GetProperties
    - tcmalloc::Property
    - tcmalloc_internal::NumCPUs
    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:
    - end
    - TC_CHECK
    - find
    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:
    - PropertyMap::count
    - EXPECT_LE
    - ASSERT_NE
    - tcmalloc::MallocExtension::GetProperties
    - tcmalloc::Property
    - tcmalloc_internal::NumCPUs
    linkageType: ''
    returnType: void
    signature: void TEST(StartupSizeTest, Basic)
Fuzzer filename: empty-file.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- sanitizer/dfsan_interface.h
- cstdio
- fuzztest/init_fuzztest.h
- tcmalloc/internal/prefetch.h
- benchmark/benchmark.h
- absl/log/log.h
- algorithm
- absl/base/optimization.h
- elf.h
- stdarg.h
- tcmalloc/mock_huge_page_static_forwarder.h
- sys/param.h
- absl/base/no_destructor.h
- cassert
- tcmalloc/huge_allocator.h
- sys/syscall.h
- tcmalloc/mock_static_forwarder.h
- tcmalloc/stats.h
- cstddef
- random
- cmath
- absl/base/casts.h
- tcmalloc/internal/percpu_tcmalloc.h
- tcmalloc/internal/linux_syscall_support.h
- tcmalloc/internal/stacktrace_filter.h
- absl/base/const_init.h
- utility
- absl/random/seed_sequences.h
- type_traits
- tcmalloc/thread_cache.h
- tcmalloc/internal/metadata_allocator.h
- absl/container/fixed_array.h
- absl/base/attributes.h
- absl/random/bit_gen_ref.h
- setjmp.h
- tcmalloc/internal_malloc_extension.h
- stdio.h
- tcmalloc/tcmalloc_policy.h
- tcmalloc/huge_cache.h
- tcmalloc/huge_page_filler.h
- tcmalloc/transfer_cache_stats.h
- tcmalloc/internal/cpu_utils.h
- gmock/gmock.h
- absl/status/status_matchers.h
- tcmalloc/malloc_hook.h
- link.h
- tcmalloc/page_allocator.h
- string
- atomic
- absl/base/thread_annotations.h
- absl/base/internal/spinlock.h
- linux/kernel-page-flags.h
- tcmalloc/cpu_cache.h
- tcmalloc/internal_malloc_tracing_extension.h
- google/protobuf/io/zero_copy_stream_impl_lite.h
- time.h
- map
- tcmalloc/span.h
- tcmalloc/internal/sysinfo.h
- cerrno
- tcmalloc/internal/sampled_allocation.h
- errno.h
- tcmalloc/hinted_tracker_lists.h
- iostream
- tcmalloc/common.h
- cstring
- tcmalloc/internal/config.h
- tcmalloc/guarded_page_allocator.h
- tcmalloc/profile_marshaler.h
- tcmalloc/internal/numa.h
- tcmalloc/internal/mincore.h
- array
- tcmalloc/experiment.h
- tcmalloc/internal/fake_profile.h
- sanitizer/allocator_interface.h
- tcmalloc/internal/memory_tag.h
- absl/debugging/symbolize.h
- tcmalloc/static_vars.h
- google/protobuf/io/zero_copy_stream_impl.h
- absl/time/time.h
- tcmalloc/allocation_sample.h
- absl/base/internal/cycleclock.h
- tcmalloc/allocation_sampling.h
- absl/functional/function_ref.h
- absl/base/dynamic_annotations.h
- linux/memfd.h
- iosfwd
- tcmalloc/internal/range_tracker.h
- tcmalloc/libc_override.h
- absl/time/clock.h
- cstdint
- tcmalloc/transfer_cache.h
- tcmalloc/testing/thread_manager.h
- absl/base/internal/sysinfo.h
- malloc.h
- google/protobuf/io/gzip_stream.h
- absl/strings/numbers.h
- sys/auxv.h
- absl/base/macros.h
- tcmalloc/huge_page_aware_allocator.h
- absl/strings/match.h
- tcmalloc/error_reporting.h
- tcmalloc/internal/declarations.h
- tcmalloc/arena.h
- tcmalloc/internal/explicitly_constructed.h
- tcmalloc/internal/pageflags.h
- tcmalloc/page_allocator_test_util.h
- absl/status/statusor.h
- assert.h
- sanitizer/asan_interface.h
- tcmalloc/testing/malloc_hook_recorder.h
- tcmalloc/mock_transfer_cache.h
- io.h
- tcmalloc/internal/memory_stats.h
- absl/flags/flag.h
- stdlib.h
- tcmalloc/internal/mock_span.h
- absl/strings/escaping.h
- absl/log/absl_check.h
- tcmalloc/malloc_hook_invoke.h
- absl/strings/strip.h
- gtest/gtest.h
- absl/memory/memory.h
- absl/random/random.h
- syscall.h
- tcmalloc/malloc_tracing_extension.h
- tcmalloc/pagemap.h
- math.h
- regex
- tcmalloc/peak_heap_tracker.h
- memory
- absl/synchronization/blocking_counter.h
- tcmalloc/metadata_object_allocator.h
- absl/strings/str_split.h
- tcmalloc/internal/environment.h
- absl/container/flat_hash_set.h
- tcmalloc/experiment_config.h
- tcmalloc/internal/overflow.h
- tcmalloc/testing/test_allocator_harness.h
- initializer_list
- version
- fcntl.h
- absl/base/config.h
- tcmalloc/alloc_at_least.h
- tcmalloc/huge_address_map.h
- tcmalloc/internal/affinity.h
- tcmalloc/internal/system_allocator.h
- sys/types.h
- cstdlib
- features.h
- ctype.h
- tcmalloc/guarded_allocations.h
- sanitizer/msan_interface.h
- tcmalloc/segv_handler.h
- absl/container/btree_set.h
- tcmalloc/central_freelist.h
- absl/base/internal/low_level_alloc.h
- tcmalloc/size_class_info.h
- sys/mman.h
- tcmalloc/internal/gwp_asan_state.h
- linux/param.h
- sys/resource.h
- variant
- absl/synchronization/mutex.h
- tcmalloc/internal/exponential_biased.h
- absl/container/btree_map.h
- tcmalloc/sampler.h
- climits
- absl/types/span.h
- tcmalloc/mock_virtual_allocator.h
- absl/strings/ascii.h
- tcmalloc/huge_region.h
- thread
- tcmalloc/huge_pages.h
- tcmalloc/internal/page_size.h
- absl/strings/str_replace.h
- sys/prctl.h
- absl/strings/str_format.h
- stddef.h
- absl/hash/hash.h
- sys/sysmacros.h
- absl/algorithm/container.h
- tcmalloc/internal/proc_maps.h
- absl/status/status.h
- absl/debugging/stacktrace.h
- tcmalloc/deallocation_profiler.h
- absl/random/distributions.h
- tcmalloc/internal/mock_metadata_allocator.h
- string_view
- tcmalloc/internal/atomic_stats_counter.h
- tcmalloc/sizemap.h
- tcmalloc/internal/percpu.h
- tcmalloc/internal/clock.h
- absl/container/flat_hash_map.h
- tcmalloc/internal/linked_list.h
- tcmalloc/internal/timeseries_tracker.h
- tcmalloc/parameters.h
- tcmalloc/transfer_cache_internals.h
- sys/time.h
- set
- tcmalloc/internal/allocation_guard.h
- optional
- absl/strings/str_cat.h
- tcmalloc/internal/profile.pb.h
- new
- tcmalloc/stack_trace_table.h
- absl/synchronization/notification.h
- poll.h
- absl/log/check.h
- fuzztest/fuzztest.h
- tcmalloc/internal/profile_builder.h
- iterator
- linux/mempolicy.h
- absl/numeric/bits.h
- signal.h
- csignal
- tcmalloc/internal/size_class_info.h
- google/protobuf/io/coded_stream.h
- tcmalloc/page_allocator_interface.h
- limits
- absl/types/optional.h
- tcmalloc/pages.h
- tcmalloc/internal/sampled_allocation_recorder.h
- stdint.h
- tcmalloc/internal/optimization.h
- tcmalloc/internal/residency.h
- sched.h
- tcmalloc/internal/logging.h
- tcmalloc/internal/parameter_accessors.h
- pthread.h
- tcmalloc/huge_page_subrelease.h
- tcmalloc/global_stats.h
- absl/synchronization/barrier.h
- ostream
- sys/stat.h
- tcmalloc/testing/testutil.h
- absl/base/nullability.h
- tcmalloc/internal/hook_list.h
- absl/strings/str_join.h
- absl/numeric/int128.h
- absl/container/inlined_vector.h
- asm/unistd.h
- functional
- absl/debugging/leak_check.h
- tuple
- absl/cleanup/cleanup.h
- tcmalloc/span_stats.h
- tcmalloc/mock_central_freelist.h
- unistd.h
- string.h
- absl/base/call_once.h
- absl/strings/string_view.h
- tcmalloc/internal/cache_topology.h
- tcmalloc/internal/util.h
- tcmalloc/malloc_extension.h
- tcmalloc/tcmalloc.h
- vector
- stdalign.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::partition
  - tcmalloc_internal::token_id
  - tcmalloc_internal::SecurityPartitionPolicy::SecurityPartitionPolicy
  - tcmalloc_internal::SecurityPartitionPolicy::SecurityPartitionPolicy
  - tcmalloc_internal::SecurityPartitionPolicy::partition
  - tcmalloc_internal::SecurityPartitionPolicy::token_id
  - tcmalloc_internal::partition
  - tcmalloc_internal::token_id
  - 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::has_explicit_alignment
  - tcmalloc_internal::TCMallocPolicy::align
  - tcmalloc_internal::TCMallocPolicy::numa_partition
  - tcmalloc_internal::TCMallocPolicy::scaled_numa_partition
  - tcmalloc_internal::TCMallocPolicy::partition
  - tcmalloc_internal::TCMallocPolicy::token_id
  - 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::InPartition
  - tcmalloc_internal::TCMallocPolicy::InPartitionWithToken
  - tcmalloc_internal::TCMallocPolicy::WithSecurityToken
  - tcmalloc_internal::TCMallocPolicy::InSamePartitionAs
  - 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::partition
  - tcmalloc_internal::token_id
  - tcmalloc_internal::SecurityPartitionPolicy::SecurityPartitionPolicy
  - tcmalloc_internal::SecurityPartitionPolicy::SecurityPartitionPolicy
  - tcmalloc_internal::SecurityPartitionPolicy::partition
  - tcmalloc_internal::SecurityPartitionPolicy::token_id
  - tcmalloc_internal::partition
  - tcmalloc_internal::token_id
  - 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::has_explicit_alignment
  - tcmalloc_internal::TCMallocPolicy::align
  - tcmalloc_internal::TCMallocPolicy::numa_partition
  - tcmalloc_internal::TCMallocPolicy::scaled_numa_partition
  - tcmalloc_internal::TCMallocPolicy::partition
  - tcmalloc_internal::TCMallocPolicy::token_id
  - 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::InPartition
  - tcmalloc_internal::TCMallocPolicy::InPartitionWithToken
  - tcmalloc_internal::TCMallocPolicy::WithSecurityToken
  - tcmalloc_internal::TCMallocPolicy::InSamePartitionAs
  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: 143
        line_start: 139
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: AllocationAccessHotPolicy
      pos:
        line_end: 181
        line_start: 174
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: AllocationAccessColdPolicy
      pos:
        line_end: 187
        line_start: 183
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: InvokeHooksPolicy
      pos:
        line_end: 194
        line_start: 192
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: NoHooksPolicy
      pos:
        line_end: 199
        line_start: 197
        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: 215
        line_start: 202
        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: 229
        line_start: 218
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: LocalNumaPartitionPolicy
      pos:
        line_end: 258
        line_start: 248
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: DefaultPartitionPolicy
      pos:
        line_end: 264
        line_start: 261
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: ConstSecurityPartitionPolicy
      pos:
        line_end: 292
        line_start: 289
        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: 143
        line_start: 139
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: AllocationAccessHotPolicy
      pos:
        line_end: 181
        line_start: 174
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: AllocationAccessColdPolicy
      pos:
        line_end: 187
        line_start: 183
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: InvokeHooksPolicy
      pos:
        line_end: 194
        line_start: 192
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: NoHooksPolicy
      pos:
        line_end: 199
        line_start: 197
        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: 215
        line_start: 202
        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: 229
        line_start: 218
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: LocalNumaPartitionPolicy
      pos:
        line_end: 258
        line_start: 248
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: DefaultPartitionPolicy
      pos:
        line_end: 264
        line_start: 261
        source_file: /src/tcmalloc/tcmalloc/tcmalloc_policy.h
    - fields: []
      item_type: struct
      name: ConstSecurityPartitionPolicy
      pos:
        line_end: 292
        line_start: 289
        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: Write
      - name: Read
      item_type: enum
      name: WriteFlag
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - enumerators:
      - name: kUseAfterFree
      - name: kUseAfterFreeRead
      - name: kBufferUnderflowRead
      - name: kUseAfterFreeWrite
      - name: kBufferUnderflow
      - name: kBufferUnderflowWrite
      - name: kBufferOverflow
      - name: kBufferOverflowRead
      - name: kBufferOverflowWrite
      - name: kDoubleFree
      - name: kUnknown
      - name: kBufferOverflowOnDealloc
      item_type: enum
      name: GuardedAllocationsErrorType
      pos:
        line_end: 48
        line_start: 35
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - enumerators:
      - name: Unknown
      - name: Write
      - name: Read
      item_type: enum
      name: WriteFlag
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/tcmalloc/tcmalloc/guarded_allocations.h
    - enumerators:
      - name: kUseAfterFree
      - name: kUseAfterFreeRead
      - name: kBufferUnderflowRead
      - name: kUseAfterFreeWrite
      - name: kBufferUnderflow
      - name: kBufferUnderflowWrite
      - name: kBufferOverflow
      - name: kBufferOverflowRead
      - name: kBufferOverflowWrite
      - name: kDoubleFree
      - name: kUnknown
      - name: kBufferOverflowOnDealloc
      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::GetNumericProperty
  - 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::GetNumericProperty
  - 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: 47
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.cc
      type_or_value: '1'
    - item_type: preproc_def
      name: TCMALLOC_UNDER_SANITIZERS
      pos:
        line_end: 119
        line_start: 118
        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_COLLAPSE_HEURISTICS
      - name: TCMALLOC_EXTENDED_PRIORITY_LISTS_V1
      - name: TCMALLOC_PREFERENTIAL_COLLAPSE
      - name: TEST_ONLY_DISABLE_STACK_TRACING
      - name: TCMALLOC_PGHO_EXPERIMENT
      - name: TEST_ONLY_L3_AWARE
      - name: TEST_ONLY_MM_VCPU
      - name: TEST_ONLY_MUTEX_EXTENDED_SPINNING
      - name: TEST_ONLY_TCMALLOC_EXTENDED_PRIORITY_LISTS_V1
      - name: TEST_ONLY_TCMALLOC_HUGE_CACHE_RELEASE_30S
      - name: TEST_ONLY_TCMALLOC_SHARDED_TRANSFER_CACHE
      - name: TEST_ONLY_TCMALLOC_PREFERENTIAL_COLLAPSE
      - name: kMaxExperimentID
      - name: TEST_ONLY_TCMALLOC_POW2_SIZECLASS
      - name: TEST_ONLY_TCMALLOC_SPAN_LIFETIME_TRACKING
      - name: TEST_ONLY_TCMALLOC_MADV_COLD_HUGEPAGE
      item_type: enum
      name: Experiment
      pos:
        line_end: 43
        line_start: 22
        source_file: /src/tcmalloc/tcmalloc/experiment_config.h
    - enumerators:
      - name: TCMALLOC_COLLAPSE_HEURISTICS
      - name: TCMALLOC_EXTENDED_PRIORITY_LISTS_V1
      - name: TCMALLOC_PREFERENTIAL_COLLAPSE
      - name: TEST_ONLY_DISABLE_STACK_TRACING
      - name: TCMALLOC_PGHO_EXPERIMENT
      - name: TEST_ONLY_L3_AWARE
      - name: TEST_ONLY_MM_VCPU
      - name: TEST_ONLY_MUTEX_EXTENDED_SPINNING
      - name: TEST_ONLY_TCMALLOC_EXTENDED_PRIORITY_LISTS_V1
      - name: TEST_ONLY_TCMALLOC_HUGE_CACHE_RELEASE_30S
      - name: TEST_ONLY_TCMALLOC_SHARDED_TRANSFER_CACHE
      - name: TEST_ONLY_TCMALLOC_PREFERENTIAL_COLLAPSE
      - name: kMaxExperimentID
      - name: TEST_ONLY_TCMALLOC_POW2_SIZECLASS
      - name: TEST_ONLY_TCMALLOC_SPAN_LIFETIME_TRACKING
      - name: TEST_ONLY_TCMALLOC_MADV_COLD_HUGEPAGE
      item_type: enum
      name: Experiment
      pos:
        line_end: 43
        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: 48
        line_start: 45
        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: 48
        line_start: 45
        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::get
  - tcmalloc_internal::PageMap2::get_next_set_page
  - tcmalloc_internal::PageMap2::get_existing_with_sizeclass
  - tcmalloc_internal::PageMap2::get_existing
  - tcmalloc_internal::PageMap2::sizeclass
  - 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::get
  - tcmalloc_internal::PageMap3::get_next_set_page
  - tcmalloc_internal::PageMap3::get_existing_with_sizeclass
  - tcmalloc_internal::PageMap3::get_existing
  - 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::GetDescriptor
  - tcmalloc_internal::PageMap::GetDescriptorAndSizeClass
  - 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::get
  - tcmalloc_internal::PageMap2::get_next_set_page
  - tcmalloc_internal::PageMap2::get_existing_with_sizeclass
  - tcmalloc_internal::PageMap2::get_existing
  - tcmalloc_internal::PageMap2::sizeclass
  - 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::get
  - tcmalloc_internal::PageMap3::get_next_set_page
  - tcmalloc_internal::PageMap3::get_existing_with_sizeclass
  - tcmalloc_internal::PageMap3::get_existing
  - 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::GetDescriptor
  - tcmalloc_internal::PageMap::GetDescriptorAndSizeClass
  - 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
      - name: '* absl_nullable'
        type: Span
      item_type: struct
      name: Leaf
      pos:
        line_end: 112
        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
      - name: '* absl_nullable'
        type: Span
      item_type: struct
      name: Leaf
      pos:
        line_end: 326
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
    - fields:
      - name: '* absl_nullable leafs[kMidLength]'
        type: Leaf
      item_type: struct
      name: Node
      pos:
        line_end: 331
        line_start: 328
        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
      - name: '* absl_nullable'
        type: Span
      item_type: struct
      name: Leaf
      pos:
        line_end: 112
        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
      - name: '* absl_nullable'
        type: Span
      item_type: struct
      name: Leaf
      pos:
        line_end: 326
        line_start: 310
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
    - fields:
      - name: '* absl_nullable leafs[kMidLength]'
        type: Leaf
      item_type: struct
      name: Node
      pos:
        line_end: 331
        line_start: 328
        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: 118
        line_start: 118
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
      type: uintptr_t
    - item_type: typedef
      name: Number
      pos:
        line_end: 337
        line_start: 337
        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: 118
        line_start: 118
        source_file: /src/tcmalloc/tcmalloc/pagemap.h
      type: uintptr_t
    - item_type: typedef
      name: Number
      pos:
        line_end: 337
        line_start: 337
        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::Profile::AbslStringify
  - tcmalloc::AddressRegion::AddressRegion
  - tcmalloc::AddressRegionFactory::AddressRegionFactory
  - ~AddressRegionFactory()
  - tcmalloc::AddressRegionFactory::Create
  - 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::Profile::AbslStringify
  - tcmalloc::AddressRegion::AddressRegion
  - tcmalloc::AddressRegionFactory::AddressRegionFactory
  - ~AddressRegionFactory()
  - tcmalloc::AddressRegionFactory::Create
  - 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: kAllocToken0
        value: '0'
      - name: kAllocTokenFallback
        value: ALLOC_TOKEN_FALLBACK
      - name: kAllocToken1
        value: '1'
      - name: kNoAllocToken
        value: '10'
      - name: kAllocTokenFallback
        value: kAllocToken0
      item_type: enum
      name: TokenId
      pos:
        line_end: 90
        line_start: 77
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kAllocToken0
        value: '0'
      - name: kAllocTokenFallback
        value: ALLOC_TOKEN_FALLBACK
      - name: kAllocToken1
        value: '1'
      - name: kNoAllocToken
        value: '10'
      - name: kAllocTokenFallback
        value: kAllocToken0
      item_type: enum
      name: TokenId
      pos:
        line_end: 90
        line_start: 77
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kHeap
      - name: kFragmentation
      - name: kLifetimes
      - name: kPeakHeap
      - name: kAllocations
      - name: kDoNotUse
      item_type: enum
      name: ProfileType
      pos:
        line_end: 146
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: Hot
      - name: Cold
      - name: kDoNotUse
      item_type: enum
      name: Access
      pos:
        line_end: 195
        line_start: 188
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: LargerThanOnePage
        value: '-1'
      - name: RateLimited
        value: '-3'
      - name: TooSmall
        value: '-4'
      - name: Disabled
        value: '-2'
      - name: NoAvailableSlots
        value: '-5'
      - 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: 244
        line_start: 210
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: New
      - name: AlignedMalloc
      - name: Malloc
      item_type: enum
      name: AllocationType
      pos:
        line_end: 252
        line_start: 248
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNormal
      - name: kInfrequentAllocation
      - name: kInfrequentAccess
      - name: kMetadata
      - name: kInfrequentAllocation
        value: kInfrequentAllocation
      - name: kNormalNumaAwareS0
      - name: kNormalNumaAwareS1
      item_type: enum
      name: UsageHint
      pos:
        line_end: 351
        line_start: 338
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kSoft
      - name: kHard
      item_type: enum
      name: LimitKind
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kUnknown
        value: '0'
      - name: kOwned
      - name: kNotOwned
      item_type: enum
      name: Ownership
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators: []
      item_type: enum
      name: BytesPerSecond
      pos:
        line_end: 692
        line_start: 692
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kHeap
      - name: kFragmentation
      - name: kLifetimes
      - name: kPeakHeap
      - name: kAllocations
      - name: kDoNotUse
      item_type: enum
      name: ProfileType
      pos:
        line_end: 146
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: Hot
      - name: Cold
      - name: kDoNotUse
      item_type: enum
      name: Access
      pos:
        line_end: 195
        line_start: 188
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: LargerThanOnePage
        value: '-1'
      - name: RateLimited
        value: '-3'
      - name: TooSmall
        value: '-4'
      - name: Disabled
        value: '-2'
      - name: NoAvailableSlots
        value: '-5'
      - 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: 244
        line_start: 210
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: New
      - name: AlignedMalloc
      - name: Malloc
      item_type: enum
      name: AllocationType
      pos:
        line_end: 252
        line_start: 248
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNormal
      - name: kInfrequentAllocation
      - name: kInfrequentAccess
      - name: kMetadata
      - name: kInfrequentAllocation
        value: kInfrequentAllocation
      - name: kNormalNumaAwareS0
      - name: kNormalNumaAwareS1
      item_type: enum
      name: UsageHint
      pos:
        line_end: 351
        line_start: 338
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kSoft
      - name: kHard
      item_type: enum
      name: LimitKind
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kUnknown
        value: '0'
      - name: kOwned
      - name: kNotOwned
      item_type: enum
      name: Ownership
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators: []
      item_type: enum
      name: BytesPerSecond
      pos:
        line_end: 692
        line_start: 692
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNever
        value: '0x0'
      - name: kFreeAndDontNeed
        value: '0x3'
      - name: kFreeOnly
        value: '0x2'
      - name: kDontNeed
        value: '0x1'
      item_type: enum
      name: MadvisePreference
      pos:
        line_end: 917
        line_start: 912
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNever
        value: '0x0'
      - name: kFreeAndDontNeed
        value: '0x3'
      - name: kFreeOnly
        value: '0x2'
      - name: kDontNeed
        value: '0x1'
      item_type: enum
      name: MadvisePreference
      pos:
        line_end: 917
        line_start: 912
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNever
        value: '0x0'
      - name: kFreeAndDontNeed
        value: '0x3'
      - name: kFreeOnly
        value: '0x2'
      - name: kDontNeed
        value: '0x1'
      item_type: enum
      name: MadvisePreference
      pos:
        line_end: 917
        line_start: 912
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - enumerators:
      - name: kNever
        value: '0x0'
      - name: kFreeAndDontNeed
        value: '0x3'
      - name: kFreeOnly
        value: '0x2'
      - name: kDontNeed
        value: '0x1'
      item_type: enum
      name: MadvisePreference
      pos:
        line_end: 917
        line_start: 912
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    preproc_defs:
    - item_type: preproc_def
      name: TCMALLOC_ATTRIBUTE_MALLOC_SPAN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
      type_or_value: __attribute__((malloc_span))
    - item_type: preproc_def
      name: TCMALLOC_ATTRIBUTE_MALLOC_SPAN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
      type_or_value: __attribute__((malloc_span))
    - item_type: preproc_def
      name: TCMALLOC_FREE_SIZED_NOEXCEPT
      pos:
        line_end: 724
        line_start: 723
        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: std::optional<std::align_val_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: token_id
        type: TokenId
      - 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: '* absl_nullable'
        type: void
      item_type: struct
      name: Sample
      pos:
        line_end: 299
        line_start: 159
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - fields:
      - name: value
        type: size_t
      item_type: struct
      name: Property
      pos:
        line_end: 615
        line_start: 613
        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: std::optional<std::align_val_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: token_id
        type: TokenId
      - 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: '* absl_nullable'
        type: void
      item_type: struct
      name: Sample
      pos:
        line_end: 299
        line_start: 159
        source_file: /src/tcmalloc/tcmalloc/malloc_extension.h
    - fields:
      - name: value
        type: size_t
      item_type: struct
      name: Property
      pos:
        line_end: 615
        line_start: 613
        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: 743
        line_start: 740
        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: std::optional<std::align_val_t>
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: token_id
        type: TokenId
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 59
        line_start: 42
        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: std::optional<std::align_val_t>
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: token_id
        type: TokenId
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 59
        line_start: 42
        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: std::optional<std::align_val_t>
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: token_id
        type: TokenId
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 59
        line_start: 42
        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: std::optional<std::align_val_t>
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: token_id
        type: TokenId
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 59
        line_start: 42
        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: std::optional<std::align_val_t>
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: token_id
        type: TokenId
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 59
        line_start: 42
        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: std::optional<std::align_val_t>
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: token_id
        type: TokenId
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 59
        line_start: 42
        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: std::optional<std::align_val_t>
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: token_id
        type: TokenId
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 59
        line_start: 42
        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: std::optional<std::align_val_t>
      - name: allocated_size
        type: size_t
      - name: alloc_handle
        type: MallocHook::AllocHandle
      - name: access_hint
        type: uint8_t
      - name: token_id
        type: TokenId
      - name: cold_allocated
        type: bool
      - name: depth
        type: int
      - name: '* stack[64]'
        type: void
      item_type: struct
      name: AllocationEntry
      pos:
        line_end: 59
        line_start: 42
        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::Span
  - tcmalloc_internal::donated
  - tcmalloc_internal::set_donated
  - tcmalloc_internal::Allocated
  - tcmalloc_internal::nonempty_index
  - tcmalloc_internal::set_nonempty_index
  - tcmalloc_internal::is_long_lived_span
  - tcmalloc_internal::set_is_long_lived_span
  - tcmalloc_internal::Span::AllocTime
  - tcmalloc_internal::Span::IdxToPtr
  - tcmalloc_internal::Span::PtrToIdx
  - tcmalloc_internal::Span::FreelistPushBatch
  - tcmalloc_internal::Span::ListPushBatch
  - tcmalloc_internal::Span::ListPushBatch
  - tcmalloc_internal::Span::OffsetToIdx
  - tcmalloc_internal::Span::BitmapPtrToIdx
  - tcmalloc_internal::Span::BitmapPushBatch
  - tcmalloc_internal::Span::BitmapPushBatch
  - '& 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::Span::BitmapPopBatch
  - tcmalloc_internal::Span::FreelistPopBatch
  - tcmalloc_internal::Span::ListPopBatch
  - tcmalloc_internal::SpanList::Elem
  - tcmalloc_internal::Span
  - tcmalloc_internal::Span
  - tcmalloc_internal::donated
  - tcmalloc_internal::set_donated
  - tcmalloc_internal::Allocated
  - tcmalloc_internal::nonempty_index
  - tcmalloc_internal::set_nonempty_index
  - tcmalloc_internal::is_long_lived_span
  - tcmalloc_internal::set_is_long_lived_span
  - tcmalloc_internal::Span::AllocTime
  - tcmalloc_internal::Span::IdxToPtr
  - tcmalloc_internal::Span::PtrToIdx
  - tcmalloc_internal::Span::FreelistPushBatch
  - tcmalloc_internal::Span::ListPushBatch
  - tcmalloc_internal::Span::ListPushBatch
  - tcmalloc_internal::Span::OffsetToIdx
  - tcmalloc_internal::Span::BitmapPtrToIdx
  - tcmalloc_internal::Span::BitmapPushBatch
  - tcmalloc_internal::Span::BitmapPushBatch
  - '& 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::Span::BitmapPopBatch
  - tcmalloc_internal::Span::FreelistPopBatch
  - tcmalloc_internal::Span::ListPopBatch
  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: 59
        line_start: 53
        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: 59
        line_start: 53
        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: 64
        line_start: 61
        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: 325
        line_start: 321
        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: 340
        line_start: 327
        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: 64
        line_start: 61
        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: 325
        line_start: 321
        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: 340
        line_start: 327
        source_file: /src/tcmalloc/tcmalloc/span.h
    typedefs:
    - item_type: typedef
      name: SpanList
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/tcmalloc/tcmalloc/span.h
      type: TList
    - item_type: typedef
      name: ObjIdx
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/tcmalloc/tcmalloc/span.h
      type: uint16_t
    - item_type: typedef
      name: SpanList
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/tcmalloc/tcmalloc/span.h
      type: TList
    - item_type: typedef
      name: ObjIdx
      pos:
        line_end: 257
        line_start: 257
        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::longest_free
  - 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::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>::MaybeGet
  - tcmalloc_internal::HugeRegionSet<Region>::MaybePut
  - tcmalloc_internal::HugeRegionSet<Region>::Contribute
  - 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::longest_free
  - 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::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>::MaybeGet
  - tcmalloc_internal::HugeRegionSet<Region>::MaybePut
  - tcmalloc_internal::HugeRegionSet<Region>::Contribute
  - 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: 50
        line_start: 39
        source_file: /src/tcmalloc/tcmalloc/huge_region.h
    - enumerators:
      - name: kDefault
      - name: kUseForAllLargeAllocs
      item_type: enum
      name: HugeRegionUsageOption
      pos:
        line_end: 50
        line_start: 39
        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: 48
        line_start: 45
        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: 96
        line_start: 93
        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: 431
        line_start: 428
        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::nobjects
  - tcmalloc_internal::PageTracker::used_pages
  - tcmalloc_internal::PageTracker::released_pages
  - tcmalloc_internal::PageTracker::alloctime
  - tcmalloc_internal::PageTracker::last_page_allocation_time
  - tcmalloc_internal::PageTracker::fully_freed
  - 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::ErrorTypeToString
  - tcmalloc_internal::ErrorTypeToIndex
  - tcmalloc_internal::UpdateCollapseErrorStats
  - '& operator+=(const HugePageTreatmentStats& rhs)'
  - 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::NativePageBucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
  - 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::NativePageBucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
  - 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::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
  - tcmalloc_internal::HugePageFiller::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::HugePageFiller::PageTrackerLists::size
  - tcmalloc_internal::HugePageFiller::LifetimeBucketNum
  - tcmalloc_internal::HugePageFiller::CompareForSubrelease
  - tcmalloc_internal::PageTracker::Get
  - tcmalloc_internal::PageTracker::SetAnonVmaName
  - tcmalloc_internal::PageTracker::CountInfoInHugePage
  - 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>::RecordLifetime
  - tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
  - tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
  - tcmalloc_internal::HugePageFiller<TrackerType>::Put
  - ~HugePageTreatment()
  - tcmalloc_internal::HugePageTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::RoundDown
  - tcmalloc_internal::SampledTrackerTreatment::SampledTrackerTreatment
  - ~SampledTrackerTreatment() override
  - operator delete(void*)
  - 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::HugePageFiller<TrackerType>::GetStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::HugePageUnbackedTrackerTreatment
  - ~HugePageUnbackedTrackerTreatment() override
  - operator delete(void*)
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::CompareForHugePageTreatment
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::num_valid_trackers
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::tracker_list_full
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::GetStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
  - tcmalloc_internal::HugePageFiller<TrackerType>::ShouldBackoffFromCollapse
  - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateMaxBackoffDelay
  - tcmalloc_internal::HugePageFiller<TrackerType>::TreatHugepageTrackers
  - tcmalloc_internal::HugePageFiller<TrackerType>::HandleReleaseFree
  - 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
  - '* absl_nullable

    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::nobjects
  - tcmalloc_internal::PageTracker::used_pages
  - tcmalloc_internal::PageTracker::released_pages
  - tcmalloc_internal::PageTracker::alloctime
  - tcmalloc_internal::PageTracker::last_page_allocation_time
  - tcmalloc_internal::PageTracker::fully_freed
  - 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::ErrorTypeToString
  - tcmalloc_internal::ErrorTypeToIndex
  - tcmalloc_internal::UpdateCollapseErrorStats
  - '& operator+=(const HugePageTreatmentStats& rhs)'
  - 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::NativePageBucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
  - 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::NativePageBucketNum
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
  - tcmalloc_internal::huge_page_filler_internal::UsageInfo::PrintNativePageHisto
  - 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::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
  - tcmalloc_internal::HugePageFiller::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::HugePageFiller::PageTrackerLists::size
  - tcmalloc_internal::HugePageFiller::LifetimeBucketNum
  - tcmalloc_internal::HugePageFiller::CompareForSubrelease
  - tcmalloc_internal::PageTracker::Get
  - tcmalloc_internal::PageTracker::SetAnonVmaName
  - tcmalloc_internal::PageTracker::CountInfoInHugePage
  - 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>::RecordLifetime
  - tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHisto
  - tcmalloc_internal::HugePageFiller<TrackerType>::PrintLifetimeHistoInPbtxt
  - tcmalloc_internal::HugePageFiller<TrackerType>::Put
  - ~HugePageTreatment()
  - tcmalloc_internal::HugePageTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::RoundDown
  - tcmalloc_internal::SampledTrackerTreatment::SampledTrackerTreatment
  - ~SampledTrackerTreatment() override
  - operator delete(void*)
  - 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::HugePageFiller<TrackerType>::GetStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::HugePageUnbackedTrackerTreatment
  - ~HugePageUnbackedTrackerTreatment() override
  - operator delete(void*)
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::CompareForHugePageTreatment
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::SelectEligibleTrackers
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::num_valid_trackers
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::tracker_list_full
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_LOCKS_EXCLUDED
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::GetStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::UpdateHugePageTreatmentStats
  - tcmalloc_internal::HugePageUnbackedTrackerTreatment::TryUserspaceCollapse
  - tcmalloc_internal::HugePageFiller<TrackerType>::ShouldBackoffFromCollapse
  - tcmalloc_internal::HugePageFiller<TrackerType>::UpdateMaxBackoffDelay
  - tcmalloc_internal::HugePageFiller<TrackerType>::TreatHugepageTrackers
  - tcmalloc_internal::HugePageFiller<TrackerType>::HandleReleaseFree
  - 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
  - '* absl_nullable

    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: kENoMem
        value: '0'
      - name: kEInval
      - name: kEBusy
      - name: kOther
      - name: kEAgain
      - name: kErrorTypes
      item_type: enum
      name: CollapseErrorType
      pos:
        line_end: 398
        line_start: 391
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kSparseRegular
      - name: kSparsePartialReleased
      - name: kDonated
      - name: kDensePartialReleased
      - name: kDenseRegular
      - name: kSparseReleased
      - name: kDenseReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 484
        line_start: 475
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kSparseRegular
      - name: kSparsePartialReleased
      - name: kDonated
      - name: kDensePartialReleased
      - name: kDenseRegular
      - name: kSparseReleased
      - name: kDenseReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 484
        line_start: 475
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kENoMem
        value: '0'
      - name: kEInval
      - name: kEBusy
      - name: kOther
      - name: kEAgain
      - name: kErrorTypes
      item_type: enum
      name: CollapseErrorType
      pos:
        line_end: 398
        line_start: 391
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kSparseRegular
      - name: kSparsePartialReleased
      - name: kDonated
      - name: kDensePartialReleased
      - name: kDenseRegular
      - name: kSparseReleased
      - name: kDenseReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 484
        line_start: 475
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - enumerators:
      - name: kSparseRegular
      - name: kSparsePartialReleased
      - name: kDonated
      - name: kDensePartialReleased
      - name: kDenseRegular
      - name: kSparseReleased
      - name: kDenseReleased
      - name: kNumTypes
      item_type: enum
      name: Type
      pos:
        line_end: 484
        line_start: 475
        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: 128
        line_start: 125
        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: 139
        line_start: 130
        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
      - name: bitmaps
        type: Residency::SinglePageBitmaps
      item_type: struct
      name: HugePageResidencyState
      pos:
        line_end: 239
        line_start: 224
        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: 289
        line_start: 286
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: n_free_swapped
        type: size_t
      - name: n_used_swapped
        type: size_t
      - name: n_free_unbacked
        type: size_t
      - name: n_used_unbacked
        type: size_t
      item_type: struct
      name: NativePageResidencyInfo
      pos:
        line_end: 301
        line_start: 296
        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: 389
        line_start: 376
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: collapse_eligible
        type: size_t
      - name: collapse_attempted
        type: size_t
      - name: collapse_succeeded
        type: size_t
      - name: collapse_errors
        type: std::array<size_t, static_cast<size_t>(CollapseErrorType::kErrorTypes)>
      - name: treated_pages_subreleased
        type: size_t
      - name: collapse_time_total_cycles
        type: double
      - name: collapse_time_max_cycles
        type: double
      - name: collapse_intervals_skipped
        type: size_t
      item_type: struct
      name: HugePageTreatmentStats
      pos:
        line_end: 466
        line_start: 400
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: free_page_histo
        type: Histo
      - name: longest_free_histo
        type: Histo
      - name: nalloc_histo
        type: Histo
      - name: live_lifetime_histo
        type: LifetimeHisto
      - name: long_lived_hps_histo
        type: Histo
      - name: low_occupancy_lifetime_histo
        type: LifetimeHisto
      - name: sampled_trackers
        type: SampledTrackers
      - name: unbacked_histo
        type: Histo
      - name: swapped_histo
        type: Histo
      - name: free_unbacked_histo
        type: Histo
      - name: free_swapped_histo
        type: Histo
      - name: treated_hugepages
        type: size_t
      - name: hugepage_backed
        type: size_t
      - name: total_pages
        type: size_t
      - name: num_free_non_hugepage_backed
        type: Length
      - name: num_free_hugepage_backed
        type: Length
      - name: num_used_non_hugepage_backed
        type: Length
      - name: num_used_hugepage_backed
        type: Length
      - name: num_free_swapped
        type: Length
      - name: num_used_swapped
        type: Length
      - name: num_free_unbacked
        type: Length
      - name: num_used_unbacked
        type: Length
      item_type: struct
      name: UsageInfoRecords
      pos:
        line_end: 619
        line_start: 595
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: free_page_histo
        type: Histo
      - name: longest_free_histo
        type: Histo
      - name: nalloc_histo
        type: Histo
      - name: live_lifetime_histo
        type: LifetimeHisto
      - name: long_lived_hps_histo
        type: Histo
      - name: low_occupancy_lifetime_histo
        type: LifetimeHisto
      - name: sampled_trackers
        type: SampledTrackers
      - name: unbacked_histo
        type: Histo
      - name: swapped_histo
        type: Histo
      - name: free_unbacked_histo
        type: Histo
      - name: free_swapped_histo
        type: Histo
      - name: treated_hugepages
        type: size_t
      - name: hugepage_backed
        type: size_t
      - name: total_pages
        type: size_t
      - name: num_free_non_hugepage_backed
        type: Length
      - name: num_free_hugepage_backed
        type: Length
      - name: num_used_non_hugepage_backed
        type: Length
      - name: num_used_hugepage_backed
        type: Length
      - name: num_free_swapped
        type: Length
      - name: num_used_swapped
        type: Length
      - name: num_free_unbacked
        type: Length
      - name: num_used_unbacked
        type: Length
      item_type: struct
      name: UsageInfoRecords
      pos:
        line_end: 619
        line_start: 595
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: use_preferential_collapse
        type: bool
      item_type: struct
      name: HugePageFillerOptions
      pos:
        line_end: 1038
        line_start: 1036
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: '* absl_nullable'
        type: TrackerType
      - name: page
        type: PageId
      - name: from_released
        type: bool
      item_type: struct
      name: TryGetResult
      pos:
        line_end: 1066
        line_start: 1062
        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: nobjects
        type: size_t
      - name: has_dense_spans
        type: bool
      - name: released
        type: bool
      item_type: struct
      name: TrackerState
      pos:
        line_end: 2036
        line_start: 2029
        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: 2689
        line_start: 2686
        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: 128
        line_start: 125
        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: 139
        line_start: 130
        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
      - name: bitmaps
        type: Residency::SinglePageBitmaps
      item_type: struct
      name: HugePageResidencyState
      pos:
        line_end: 239
        line_start: 224
        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: 289
        line_start: 286
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: n_free_swapped
        type: size_t
      - name: n_used_swapped
        type: size_t
      - name: n_free_unbacked
        type: size_t
      - name: n_used_unbacked
        type: size_t
      item_type: struct
      name: NativePageResidencyInfo
      pos:
        line_end: 301
        line_start: 296
        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: 389
        line_start: 376
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: collapse_eligible
        type: size_t
      - name: collapse_attempted
        type: size_t
      - name: collapse_succeeded
        type: size_t
      - name: collapse_errors
        type: std::array<size_t, static_cast<size_t>(CollapseErrorType::kErrorTypes)>
      - name: treated_pages_subreleased
        type: size_t
      - name: collapse_time_total_cycles
        type: double
      - name: collapse_time_max_cycles
        type: double
      - name: collapse_intervals_skipped
        type: size_t
      item_type: struct
      name: HugePageTreatmentStats
      pos:
        line_end: 466
        line_start: 400
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: free_page_histo
        type: Histo
      - name: longest_free_histo
        type: Histo
      - name: nalloc_histo
        type: Histo
      - name: live_lifetime_histo
        type: LifetimeHisto
      - name: long_lived_hps_histo
        type: Histo
      - name: low_occupancy_lifetime_histo
        type: LifetimeHisto
      - name: sampled_trackers
        type: SampledTrackers
      - name: unbacked_histo
        type: Histo
      - name: swapped_histo
        type: Histo
      - name: free_unbacked_histo
        type: Histo
      - name: free_swapped_histo
        type: Histo
      - name: treated_hugepages
        type: size_t
      - name: hugepage_backed
        type: size_t
      - name: total_pages
        type: size_t
      - name: num_free_non_hugepage_backed
        type: Length
      - name: num_free_hugepage_backed
        type: Length
      - name: num_used_non_hugepage_backed
        type: Length
      - name: num_used_hugepage_backed
        type: Length
      - name: num_free_swapped
        type: Length
      - name: num_used_swapped
        type: Length
      - name: num_free_unbacked
        type: Length
      - name: num_used_unbacked
        type: Length
      item_type: struct
      name: UsageInfoRecords
      pos:
        line_end: 619
        line_start: 595
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: free_page_histo
        type: Histo
      - name: longest_free_histo
        type: Histo
      - name: nalloc_histo
        type: Histo
      - name: live_lifetime_histo
        type: LifetimeHisto
      - name: long_lived_hps_histo
        type: Histo
      - name: low_occupancy_lifetime_histo
        type: LifetimeHisto
      - name: sampled_trackers
        type: SampledTrackers
      - name: unbacked_histo
        type: Histo
      - name: swapped_histo
        type: Histo
      - name: free_unbacked_histo
        type: Histo
      - name: free_swapped_histo
        type: Histo
      - name: treated_hugepages
        type: size_t
      - name: hugepage_backed
        type: size_t
      - name: total_pages
        type: size_t
      - name: num_free_non_hugepage_backed
        type: Length
      - name: num_free_hugepage_backed
        type: Length
      - name: num_used_non_hugepage_backed
        type: Length
      - name: num_used_hugepage_backed
        type: Length
      - name: num_free_swapped
        type: Length
      - name: num_used_swapped
        type: Length
      - name: num_free_unbacked
        type: Length
      - name: num_used_unbacked
        type: Length
      item_type: struct
      name: UsageInfoRecords
      pos:
        line_end: 619
        line_start: 595
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: use_preferential_collapse
        type: bool
      item_type: struct
      name: HugePageFillerOptions
      pos:
        line_end: 1038
        line_start: 1036
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    - fields:
      - name: '* absl_nullable'
        type: TrackerType
      - name: page
        type: PageId
      - name: from_released
        type: bool
      item_type: struct
      name: TryGetResult
      pos:
        line_end: 1066
        line_start: 1062
        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: nobjects
        type: size_t
      - name: has_dense_spans
        type: bool
      - name: released
        type: bool
      item_type: struct
      name: TrackerState
      pos:
        line_end: 2036
        line_start: 2029
        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: 2689
        line_start: 2686
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
    typedefs:
    - item_type: typedef
      name: Tracker
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
      type: TrackerType
    - item_type: typedef
      name: Tracker
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler.h
      type: TrackerType
    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:
  - operator HugePageAwareAllocatorOptions() const
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FuzzHPAA
  - tcmalloc::tcmalloc_internal::AnyDuration
  - tcmalloc::tcmalloc_internal::AnyPositiveDuration
  - tcmalloc::tcmalloc_internal::GetHPAADomain
  - tcmalloc::tcmalloc_internal::GetChangeParamDomain
  - tcmalloc::tcmalloc_internal::GetInstructionDomain
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator HugePageAwareAllocatorOptions() const
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FuzzHPAA
  - tcmalloc::tcmalloc_internal::AnyDuration
  - tcmalloc::tcmalloc_internal::AnyPositiveDuration
  - tcmalloc::tcmalloc_internal::GetHPAADomain
  - tcmalloc::tcmalloc_internal::GetChangeParamDomain
  - tcmalloc::tcmalloc_internal::GetInstructionDomain
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator HugePageAwareAllocatorOptions() const
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FuzzHPAA
  - tcmalloc::tcmalloc_internal::AnyDuration
  - tcmalloc::tcmalloc_internal::AnyPositiveDuration
  - tcmalloc::tcmalloc_internal::GetHPAADomain
  - tcmalloc::tcmalloc_internal::GetChangeParamDomain
  - tcmalloc::tcmalloc_internal::GetInstructionDomain
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - operator HugePageAwareAllocatorOptions() const
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FakeStaticForwarderWithUnback::ReleasePages
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FuzzHPAA
  - tcmalloc::tcmalloc_internal::AnyDuration
  - tcmalloc::tcmalloc_internal::AnyPositiveDuration
  - tcmalloc::tcmalloc_internal::GetHPAADomain
  - tcmalloc::tcmalloc_internal::GetChangeParamDomain
  - tcmalloc::tcmalloc_internal::GetInstructionDomain
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - 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: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: huge_cache_time_ns
        type: int64_t
      item_type: struct
      name: FuzzHugePageAwareAllocatorOptions
      pos:
        line_end: 84
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: length
        type: size_t
      - name: num_objects
        type: size_t
      - name: alignment
        type: size_t
      - name: use_aligned
        type: bool
      - name: dense
        type: bool
      item_type: struct
      name: Alloc
      pos:
        line_end: 114
        line_start: 100
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: index
        type: size_t
      item_type: struct
      name: Dealloc
      pos:
        line_end: 123
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: desired
        type: size_t
      - name: release_memory_to_system
        type: bool
      item_type: struct
      name: ReleasePages
      pos:
        line_end: 135
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: desired
        type: size_t
      - name: soft_limit_exceeded
        type: bool
      item_type: struct
      name: ReleasePagesBreakingHugepages
      pos:
        line_end: 149
        line_start: 137
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: GatherStatsPbtxt
      pos:
        line_end: 156
        line_start: 151
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: everything
        type: bool
      item_type: struct
      name: PrintStats
      pos:
        line_end: 165
        line_start: 158
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: GatherAndCheckStats
      pos:
        line_end: 172
        line_start: 167
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: duration_ns
        type: int64_t
      item_type: struct
      name: SetFillerSkipSubreleaseShortInterval
      pos:
        line_end: 184
        line_start: 174
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: duration_ns
        type: int64_t
      item_type: struct
      name: SetFillerSkipSubreleaseLongInterval
      pos:
        line_end: 196
        line_start: 186
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetReleasePartialAllocPages
      pos:
        line_end: 205
        line_start: 198
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetHpaaSubrelease
      pos:
        line_end: 214
        line_start: 207
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetReleaseSucceeds
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetHugeRegionDemandBasedRelease
      pos:
        line_end: 233
        line_start: 225
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetUseUserspaceCollapseHeuristics
      pos:
        line_end: 244
        line_start: 235
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: ResetSubreleaseIntervals
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: subprogram
        type: std::vector<Instruction>
      item_type: struct
      name: ReentrantSubprogram
      pos:
        line_end: 260
        line_start: 258
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: op
        type: ParamOp
      item_type: struct
      name: ChangeParam
      pos:
        line_end: 281
        line_start: 274
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: instr
        type: InstructionVariant
      item_type: struct
      name: Instruction
      pos:
        line_end: 300
        line_start: 293
        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: 327
        line_start: 324
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: huge_cache_time_ns
        type: int64_t
      item_type: struct
      name: FuzzHugePageAwareAllocatorOptions
      pos:
        line_end: 84
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: length
        type: size_t
      - name: num_objects
        type: size_t
      - name: alignment
        type: size_t
      - name: use_aligned
        type: bool
      - name: dense
        type: bool
      item_type: struct
      name: Alloc
      pos:
        line_end: 114
        line_start: 100
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: index
        type: size_t
      item_type: struct
      name: Dealloc
      pos:
        line_end: 123
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: desired
        type: size_t
      - name: release_memory_to_system
        type: bool
      item_type: struct
      name: ReleasePages
      pos:
        line_end: 135
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: desired
        type: size_t
      - name: soft_limit_exceeded
        type: bool
      item_type: struct
      name: ReleasePagesBreakingHugepages
      pos:
        line_end: 149
        line_start: 137
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: GatherStatsPbtxt
      pos:
        line_end: 156
        line_start: 151
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: everything
        type: bool
      item_type: struct
      name: PrintStats
      pos:
        line_end: 165
        line_start: 158
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: GatherAndCheckStats
      pos:
        line_end: 172
        line_start: 167
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: duration_ns
        type: int64_t
      item_type: struct
      name: SetFillerSkipSubreleaseShortInterval
      pos:
        line_end: 184
        line_start: 174
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: duration_ns
        type: int64_t
      item_type: struct
      name: SetFillerSkipSubreleaseLongInterval
      pos:
        line_end: 196
        line_start: 186
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetReleasePartialAllocPages
      pos:
        line_end: 205
        line_start: 198
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetHpaaSubrelease
      pos:
        line_end: 214
        line_start: 207
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetReleaseSucceeds
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetHugeRegionDemandBasedRelease
      pos:
        line_end: 233
        line_start: 225
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetUseUserspaceCollapseHeuristics
      pos:
        line_end: 244
        line_start: 235
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: ResetSubreleaseIntervals
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: subprogram
        type: std::vector<Instruction>
      item_type: struct
      name: ReentrantSubprogram
      pos:
        line_end: 260
        line_start: 258
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: op
        type: ParamOp
      item_type: struct
      name: ChangeParam
      pos:
        line_end: 281
        line_start: 274
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: instr
        type: InstructionVariant
      item_type: struct
      name: Instruction
      pos:
        line_end: 300
        line_start: 293
        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: 327
        line_start: 324
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: huge_cache_time_ns
        type: int64_t
      item_type: struct
      name: FuzzHugePageAwareAllocatorOptions
      pos:
        line_end: 84
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: length
        type: size_t
      - name: num_objects
        type: size_t
      - name: alignment
        type: size_t
      - name: use_aligned
        type: bool
      - name: dense
        type: bool
      item_type: struct
      name: Alloc
      pos:
        line_end: 114
        line_start: 100
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: index
        type: size_t
      item_type: struct
      name: Dealloc
      pos:
        line_end: 123
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: desired
        type: size_t
      - name: release_memory_to_system
        type: bool
      item_type: struct
      name: ReleasePages
      pos:
        line_end: 135
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: desired
        type: size_t
      - name: soft_limit_exceeded
        type: bool
      item_type: struct
      name: ReleasePagesBreakingHugepages
      pos:
        line_end: 149
        line_start: 137
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: GatherStatsPbtxt
      pos:
        line_end: 156
        line_start: 151
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: everything
        type: bool
      item_type: struct
      name: PrintStats
      pos:
        line_end: 165
        line_start: 158
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: GatherAndCheckStats
      pos:
        line_end: 172
        line_start: 167
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: duration_ns
        type: int64_t
      item_type: struct
      name: SetFillerSkipSubreleaseShortInterval
      pos:
        line_end: 184
        line_start: 174
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: duration_ns
        type: int64_t
      item_type: struct
      name: SetFillerSkipSubreleaseLongInterval
      pos:
        line_end: 196
        line_start: 186
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetReleasePartialAllocPages
      pos:
        line_end: 205
        line_start: 198
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetHpaaSubrelease
      pos:
        line_end: 214
        line_start: 207
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetReleaseSucceeds
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetHugeRegionDemandBasedRelease
      pos:
        line_end: 233
        line_start: 225
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetUseUserspaceCollapseHeuristics
      pos:
        line_end: 244
        line_start: 235
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: ResetSubreleaseIntervals
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: subprogram
        type: std::vector<Instruction>
      item_type: struct
      name: ReentrantSubprogram
      pos:
        line_end: 260
        line_start: 258
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: op
        type: ParamOp
      item_type: struct
      name: ChangeParam
      pos:
        line_end: 281
        line_start: 274
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: instr
        type: InstructionVariant
      item_type: struct
      name: Instruction
      pos:
        line_end: 300
        line_start: 293
        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: 327
        line_start: 324
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: huge_cache_time_ns
        type: int64_t
      item_type: struct
      name: FuzzHugePageAwareAllocatorOptions
      pos:
        line_end: 84
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: length
        type: size_t
      - name: num_objects
        type: size_t
      - name: alignment
        type: size_t
      - name: use_aligned
        type: bool
      - name: dense
        type: bool
      item_type: struct
      name: Alloc
      pos:
        line_end: 114
        line_start: 100
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: index
        type: size_t
      item_type: struct
      name: Dealloc
      pos:
        line_end: 123
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: desired
        type: size_t
      - name: release_memory_to_system
        type: bool
      item_type: struct
      name: ReleasePages
      pos:
        line_end: 135
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: desired
        type: size_t
      - name: soft_limit_exceeded
        type: bool
      item_type: struct
      name: ReleasePagesBreakingHugepages
      pos:
        line_end: 149
        line_start: 137
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: GatherStatsPbtxt
      pos:
        line_end: 156
        line_start: 151
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: everything
        type: bool
      item_type: struct
      name: PrintStats
      pos:
        line_end: 165
        line_start: 158
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: GatherAndCheckStats
      pos:
        line_end: 172
        line_start: 167
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: duration_ns
        type: int64_t
      item_type: struct
      name: SetFillerSkipSubreleaseShortInterval
      pos:
        line_end: 184
        line_start: 174
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: duration_ns
        type: int64_t
      item_type: struct
      name: SetFillerSkipSubreleaseLongInterval
      pos:
        line_end: 196
        line_start: 186
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetReleasePartialAllocPages
      pos:
        line_end: 205
        line_start: 198
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetHpaaSubrelease
      pos:
        line_end: 214
        line_start: 207
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetReleaseSucceeds
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetHugeRegionDemandBasedRelease
      pos:
        line_end: 233
        line_start: 225
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: SetUseUserspaceCollapseHeuristics
      pos:
        line_end: 244
        line_start: 235
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields: []
      item_type: struct
      name: ResetSubreleaseIntervals
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: subprogram
        type: std::vector<Instruction>
      item_type: struct
      name: ReentrantSubprogram
      pos:
        line_end: 260
        line_start: 258
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: op
        type: ParamOp
      item_type: struct
      name: ChangeParam
      pos:
        line_end: 281
        line_start: 274
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator_fuzz.cc
    - fields:
      - name: instr
        type: InstructionVariant
      item_type: struct
      name: Instruction
      pos:
        line_end: 300
        line_start: 293
        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: 327
        line_start: 324
        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::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FuzzSpanInstructions
  - tcmalloc::tcmalloc_internal::FuzzSpan
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FuzzSpanInstructions
  - tcmalloc::tcmalloc_internal::FuzzSpan
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FuzzSpanInstructions
  - tcmalloc::tcmalloc_internal::FuzzSpan
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::AbslStringify
  - tcmalloc::tcmalloc_internal::FuzzSpanInstructions
  - tcmalloc::tcmalloc_internal::FuzzSpan
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::TEST
  - 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/span_fuzz.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields: []
      item_type: struct
      name: Shuffle
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: Dealloc
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: DeallocNoRemove
      pos:
        line_end: 71
        line_start: 64
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: DeallocIndex
      pos:
        line_end: 81
        line_start: 74
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields: []
      item_type: struct
      name: Shuffle
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: Dealloc
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: DeallocNoRemove
      pos:
        line_end: 71
        line_start: 64
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: DeallocIndex
      pos:
        line_end: 81
        line_start: 74
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields: []
      item_type: struct
      name: Shuffle
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: Dealloc
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: DeallocNoRemove
      pos:
        line_end: 71
        line_start: 64
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: DeallocIndex
      pos:
        line_end: 81
        line_start: 74
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: Alloc
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields: []
      item_type: struct
      name: Shuffle
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: Dealloc
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: DeallocNoRemove
      pos:
        line_end: 71
        line_start: 64
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    - fields:
      - name: count
        type: uint8_t
      item_type: struct
      name: DeallocIndex
      pos:
        line_end: 81
        line_start: 74
        source_file: /src/tcmalloc/tcmalloc/span_fuzz.cc
    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::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
  - TEST_F
  - Stat
  - TEST_F
  - FakeClock::FakeClock
  - FakeClock::now
  - FakeClock::freq
  - FakeClock::Advance
  - FakeClock::ResetClock
  - MockCollapse::MockCollapse
  - operator()(Range r) override
  - MockCollapse::TriedCollapse
  - MockCollapse::TimesCollapsed
  - MockCollapse::SetSuccess
  - MockCollapse::SetErrorNumber
  - MockCollapse::SetLatency
  - MockSetAnonVmaName::MockSetAnonVmaName
  - operator()(Range r, std::optional<absl::string_view> name) override
  - MockSetAnonVmaName::SetExpectedName
  - MockSetAnonVmaName::TimesCalled
  - BlockingUnback::BlockingUnback
  - operator()(Range r) override
  - FillerTest::GetBacking
  - FillerTest::GetFakePage
  - FillerTest::MarkRange
  - FillerTest::CheckRange
  - FillerTest::ABSL_LOCKS_EXCLUDED
  - 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::DeleteRaw
  - FillerTest::AllocateRaw
  - 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
  - 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: 181
        line_start: 174
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    - fields:
      - name: r
        type: Range
      - name: success
        type: bool
      - name: error_number
        type: int
      item_type: struct
      name: CallArgs
      pos:
        line_end: 228
        line_start: 224
        source_file: /src/tcmalloc/tcmalloc/huge_page_filler_test.cc
    - fields: []
      item_type: struct
      name: Helper
      pos:
        line_end: 662
        line_start: 642
        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: 932
        line_start: 925
        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: kHard
      - name: kNumLimits
      item_type: enum
      name: LimitKind
      pos:
        line_end: 107
        line_start: 107
        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: 137
        line_start: 134
        source_file: /src/tcmalloc/tcmalloc/page_allocator.h
    - enumerators:
      - name: kSoft
      - name: kHard
      - name: kNumLimits
      item_type: enum
      name: LimitKind
      pos:
        line_end: 107
        line_start: 107
        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: 137
        line_start: 134
        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: 142
        line_start: 139
        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: 142
        line_start: 139
        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: 165
        line_start: 160
        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: 165
        line_start: 160
        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_P
  - tcmalloc::tcmalloc_internal::TEST
  - 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_P
  - tcmalloc::tcmalloc_internal::TEST
  - 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_P
  - tcmalloc::tcmalloc_internal::TEST
  - 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_P
  - tcmalloc::tcmalloc_internal::TEST
  - 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_P
  - tcmalloc::tcmalloc_internal::TEST
  - 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_P
  - tcmalloc::tcmalloc_internal::TEST
  - 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_P
  - tcmalloc::tcmalloc_internal::TEST
  - 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_P
  - tcmalloc::tcmalloc_internal::TEST
  - 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: 46
        line_start: 45
        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: 359
        line_start: 348
        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: 364
        line_start: 361
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    - fields: []
      item_type: struct
      name: ShardedTransferCacheManager
      pos:
        line_end: 641
        line_start: 619
        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: 359
        line_start: 348
        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: 364
        line_start: 361
        source_file: /src/tcmalloc/tcmalloc/transfer_cache.h
    - fields: []
      item_type: struct
      name: ShardedTransferCacheManager
      pos:
        line_end: 641
        line_start: 619
        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: 571
        line_start: 565
        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: 571
        line_start: 565
        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::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:
  - DECLARE_ALLOC_TOKEN_NEW
  - DECLARE_ALLOC_TOKEN_NEW_EXTENSION
  - DECLARE_ALLOC_TOKEN_STDLIB
  - DECLARE_ALLOC_TOKEN_VARIANTS
  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::NumPriorityLists
  - 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>::HandleLongLivedSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsed
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMoved
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt
  - 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::NumPriorityLists
  - 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>::HandleLongLivedSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsed
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMoved
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt
  - 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::NumPriorityLists
  - 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>::HandleLongLivedSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsed
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMoved
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt
  - 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::NumPriorityLists
  - 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>::HandleLongLivedSpans
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStats
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsed
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMoved
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanUtilStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintNumSpansUsedInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintSpanLifetimeStatsInPbtxt
  - tcmalloc_internal::central_freelist_internal::CentralFreeList<Forwarder>::PrintLongLivedSpansMovedInPbtxt
  source_file: /src/tcmalloc/tcmalloc/central_freelist.h
  types:
    enum:
    - enumerators:
      - name: kNormal
        value: 'false'
      - name: kExtended
        value: 'true'
      item_type: enum
      name: PriorityListLength
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/central_freelist.h
    - enumerators:
      - name: kDisabled
        value: 'false'
      - name: kEnabled
        value: 'true'
      item_type: enum
      name: LifetimeTracking
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/tcmalloc/tcmalloc/central_freelist.h
    - enumerators:
      - name: kNormal
        value: 'false'
      - name: kExtended
        value: 'true'
      item_type: enum
      name: PriorityListLength
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/central_freelist.h
    - enumerators:
      - name: kDisabled
        value: 'false'
      - name: kEnabled
        value: 'true'
      item_type: enum
      name: LifetimeTracking
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/tcmalloc/tcmalloc/central_freelist.h
    - enumerators:
      - name: kNormal
        value: 'false'
      - name: kExtended
        value: 'true'
      item_type: enum
      name: PriorityListLength
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/central_freelist.h
    - enumerators:
      - name: kDisabled
        value: 'false'
      - name: kEnabled
        value: 'true'
      item_type: enum
      name: LifetimeTracking
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/tcmalloc/tcmalloc/central_freelist.h
    - enumerators:
      - name: kNormal
        value: 'false'
      - name: kExtended
        value: 'true'
      item_type: enum
      name: PriorityListLength
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/tcmalloc/tcmalloc/central_freelist.h
    - enumerators:
      - name: kDisabled
        value: 'false'
      - name: kEnabled
        value: 'true'
      item_type: enum
      name: LifetimeTracking
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/tcmalloc/tcmalloc/central_freelist.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - GetThreadSampler
  - sized_ptr_t::SampleifyAllocation
  - SampleLargeAllocation
  - SampleSmallAllocation
  - SimplifyType
  - MaybeUnsampleAllocation
  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_partitions
  - tcmalloc_internal::PageAllocator::PageAllocator
  - tcmalloc_internal::PageAllocator::ShrinkToUsageLimit
  - tcmalloc_internal::PageAllocator::ShrinkHardBy
  - tcmalloc_internal::PageAllocator::active_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:
  - 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
  - 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
  - ~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
  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: 103
        line_start: 85
        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: 103
        line_start: 85
        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::MultiNormalTag
  - tcmalloc_internal::PartitionFromPointer
  - 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::MultiNormalTag
  - tcmalloc_internal::PartitionFromPointer
  - 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: 249
        line_start: 246
        source_file: /src/tcmalloc/tcmalloc/common.h
    - enumerators:
      - name: kHot
      - name: kCold
      item_type: enum
      name: AllocationAccess
      pos:
        line_end: 249
        line_start: 246
        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_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: 67
        line_start: 62
        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: 67
        line_start: 62
        source_file: /src/tcmalloc/tcmalloc/page_allocator_interface.h
    typedefs: []
    union: []
- function_names:
  - namespace::tcmalloc_internal
  - ReportMismatchedDelete
  - ReportMismatchedDelete
  - ReportMismatchedSizeClass
  - ReportDoubleFree
  - ReportCorruptedFree
  - ReportCorruptedFree
  - ReportCorruptedFree
  - ReportMismatchedFree
  - ReportMismatchedFree
  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::skip_subrelease_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::use_userspace_collapse_heuristics_enabled
  - 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::usermode_hugepage_collapse
  - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
  - tcmalloc_internal::Parameters::priority_list_length
  - tcmalloc_internal::Parameters::span_lifetime_tracking
  - 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::skip_subrelease_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::use_userspace_collapse_heuristics_enabled
  - 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::usermode_hugepage_collapse
  - tcmalloc_internal::Parameters::use_userspace_collapse_heuristics
  - tcmalloc_internal::Parameters::priority_list_length
  - tcmalloc_internal::Parameters::span_lifetime_tracking
  - 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_GetBackgroundReleaseRate
  - MallocExtension_Internal_SetBackgroundReleaseRate
  - TCMalloc_Internal_SetBackgroundReleaseRate
  - TCMalloc_Internal_GetHeapSizeHardLimit
  - TCMalloc_Internal_GetHPAASubrelease
  - TCMalloc_Internal_GetReleasePartialAllocPagesEnabled
  - TCMalloc_Internal_GetReleasePagesFromHugeRegionEnabled
  - TCMalloc_Internal_GetUsermodeHugepageCollapse
  - TCMalloc_Internal_GetResizeSizeClassMaxCapacityEnabled
  - TCMalloc_Internal_GetPeakSamplingHeapGrowthFraction
  - TCMalloc_Internal_GetPerCpuCachesEnabled
  - TCMalloc_Internal_SetGuardedSamplingInterval
  - TCMalloc_Internal_SetHeapSizeHardLimit
  - TCMalloc_Internal_SetHPAASubrelease
  - TCMalloc_Internal_SetReleasePartialAllocPagesEnabled
  - 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_GetPerCpuCachesDynamicSlabEnabled
  - TCMalloc_Internal_SetPerCpuCachesDynamicSlabEnabled
  - TCMalloc_Internal_GetPerCpuCachesDynamicSlabGrowThreshold
  - TCMalloc_Internal_SetPerCpuCachesDynamicSlabGrowThreshold
  - TCMalloc_Internal_GetPerCpuCachesDynamicSlabShrinkThreshold
  - TCMalloc_Internal_SetPerCpuCachesDynamicSlabShrinkThreshold
  - TCMalloc_Internal_GetMinHotAccessHint
  - TCMalloc_Internal_SetMinHotAccessHint
  - TCMalloc_Internal_GetReleaseFreeSwapped
  - TCMalloc_Internal_SetReleaseFreeSwapped
  - TCMalloc_Internal_GetUseUserspaceCollapseHeuristics
  - TCMalloc_Internal_SetUseUserspaceCollapseHeuristics
  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
  - '& sizemap() const'
  - 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::TestStaticForwarder::active_partitions
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
  - 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
  - '& sizemap() const'
  - 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::TestStaticForwarder::active_partitions
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
  - 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
  - '& sizemap() const'
  - 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::TestStaticForwarder::active_partitions
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
  - 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
  - '& sizemap() const'
  - 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::TestStaticForwarder::active_partitions
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
  - 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
  - '& sizemap() const'
  - 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::TestStaticForwarder::active_partitions
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
  - 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
  - '& sizemap() const'
  - 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::TestStaticForwarder::active_partitions
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
  - 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
  - '& sizemap() const'
  - 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::TestStaticForwarder::active_partitions
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
  - 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
  - '& sizemap() const'
  - 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::TestStaticForwarder::active_partitions
  - tcmalloc::tcmalloc_internal::TestStaticForwarder::multiple_non_numa_partitions
  - 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::ClearSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetSpan
  - 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::ClearSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetSpan
  - 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::ClearSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetSpan
  - 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::ClearSpan
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::SetSpan
  - 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: stack_trace
        type: tcmalloc_internal::StackTrace
      - name: weight
        type: double
      - 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: 125
        line_start: 85
        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: 148
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: value
        type: int
      item_type: struct
      name: RpcMatchingStatus
      pos:
        line_end: 163
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: stack_trace
        type: tcmalloc_internal::StackTrace
      - name: weight
        type: double
      - 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: 125
        line_start: 85
        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: 148
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: value
        type: int
      item_type: struct
      name: RpcMatchingStatus
      pos:
        line_end: 163
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields: []
      item_type: struct
      name: LowLevelArenaReference
      pos:
        line_end: 342
        line_start: 326
        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: 424
        line_start: 408
        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: 440
        line_start: 426
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: stack_trace
        type: tcmalloc_internal::StackTrace
      - name: weight
        type: double
      - 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: 125
        line_start: 85
        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: 148
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: value
        type: int
      item_type: struct
      name: RpcMatchingStatus
      pos:
        line_end: 163
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: stack_trace
        type: tcmalloc_internal::StackTrace
      - name: weight
        type: double
      - 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: 125
        line_start: 85
        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: 148
        line_start: 128
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields:
      - name: value
        type: int
      item_type: struct
      name: RpcMatchingStatus
      pos:
        line_end: 163
        line_start: 150
        source_file: /src/tcmalloc/tcmalloc/deallocation_profiler.cc
    - fields: []
      item_type: struct
      name: LowLevelArenaReference
      pos:
        line_end: 342
        line_start: 326
        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: 424
        line_start: 408
        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: 440
        line_start: 426
        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: std::optional<std::align_val_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::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - 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::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - 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::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - 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::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - 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::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - 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::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - 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::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - 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::HugeRegionSetTest
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::GetRegion
  - tcmalloc::tcmalloc_internal::HugeRegionSetTest::UseHugeRegionMoreOften
  - 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: 86
        line_start: 82
        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: 663
        line_start: 660
        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: 86
        line_start: 82
        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: 663
        line_start: 660
        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: 86
        line_start: 82
        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: 663
        line_start: 660
        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: 86
        line_start: 82
        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: 663
        line_start: 660
        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: 86
        line_start: 82
        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: 663
        line_start: 660
        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: 86
        line_start: 82
        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: 663
        line_start: 660
        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: 86
        line_start: 82
        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: 663
        line_start: 660
        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: 86
        line_start: 82
        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: 663
        line_start: 660
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
    typedefs:
    - item_type: typedef
      name: Region
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    - item_type: typedef
      name: Region
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/tcmalloc/tcmalloc/huge_region_test.cc
      type: HugeRegion
    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: std::optional<std::align_val_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: 175
        line_start: 167
        source_file: /src/tcmalloc/tcmalloc/profile_test.cc
    - fields:
      - name: size
        type: size_t
      - name: alignment
        type: std::optional<std::align_val_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: 175
        line_start: 167
        source_file: /src/tcmalloc/tcmalloc/profile_test.cc
    - fields:
      - name: size
        type: size_t
      - name: alignment
        type: std::optional<std::align_val_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: 175
        line_start: 167
        source_file: /src/tcmalloc/tcmalloc/profile_test.cc
    - fields:
      - name: size
        type: size_t
      - name: alignment
        type: std::optional<std::align_val_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: 175
        line_start: 167
        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: 62
        line_start: 34
        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: 62
        line_start: 34
        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::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_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::set_error_number
  - 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::use_userspace_collapse_heuristics
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_use_userspace_collapse_heuristics
  - '& 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::ClearSpan
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetSpan
  - 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::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_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::set_error_number
  - 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::use_userspace_collapse_heuristics
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_use_userspace_collapse_heuristics
  - '& 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::ClearSpan
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetSpan
  - 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::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_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::set_error_number
  - 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::use_userspace_collapse_heuristics
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_use_userspace_collapse_heuristics
  - '& 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::ClearSpan
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetSpan
  - 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::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_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::set_error_number
  - 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::use_userspace_collapse_heuristics
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::set_use_userspace_collapse_heuristics
  - '& 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::ClearSpan
  - tcmalloc_internal::huge_page_allocator_internal::FakeStaticForwarder::SetSpan
  - 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::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::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::StaticForwarder
  - 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::class_to_size
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - '& 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::StaticForwarder::active_partitions
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
  - 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
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
  - 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::StaticForwarder
  - 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::class_to_size
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - '& 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::StaticForwarder::active_partitions
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
  - 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
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
  - 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::StaticForwarder
  - 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::class_to_size
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - '& 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::StaticForwarder::active_partitions
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
  - 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
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
  - 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::StaticForwarder
  - 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::class_to_size
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::cold_size_classes
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::num_objects_to_move
  - '& numa_topology() const'
  - '& sharded_transfer_cache()'
  - '& sharded_transfer_cache() const'
  - '& 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::StaticForwarder::active_partitions
  - tcmalloc_internal::cpu_cache_internal::StaticForwarder::multiple_non_numa_partitions
  - 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
  - tcmalloc_internal::cpu_cache_internal::CpuCache<Forwarder>::PartitionShift
  - 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: kShrink
      - name: kGrow
      item_type: enum
      name: DynamicSlabResize
      pos:
        line_end: 258
        line_start: 254
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kCapacityTotal
        value: '0'
      - name: kMaxCapacityResize
      - name: kMaxCapacityTotal
      - name: kCapacityResize
      - name: kNumTypes
      item_type: enum
      name: PerClassMissType
      pos:
        line_end: 272
        line_start: 260
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kTotal
        value: '0'
      - name: kNumCounts
      - name: kSlabResize
      - name: kReclaim
      - name: kShuffle
      item_type: enum
      name: MissCount
      pos:
        line_end: 288
        line_start: 275
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kNoop
        value: '0'
      - name: kShrink
      - name: kGrow
      item_type: enum
      name: DynamicSlabResize
      pos:
        line_end: 258
        line_start: 254
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kCapacityTotal
        value: '0'
      - name: kMaxCapacityResize
      - name: kMaxCapacityTotal
      - name: kCapacityResize
      - name: kNumTypes
      item_type: enum
      name: PerClassMissType
      pos:
        line_end: 272
        line_start: 260
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kTotal
        value: '0'
      - name: kNumCounts
      - name: kSlabResize
      - name: kReclaim
      - name: kShuffle
      item_type: enum
      name: MissCount
      pos:
        line_end: 288
        line_start: 275
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kNoop
        value: '0'
      - name: kShrink
      - name: kGrow
      item_type: enum
      name: DynamicSlabResize
      pos:
        line_end: 258
        line_start: 254
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kCapacityTotal
        value: '0'
      - name: kMaxCapacityResize
      - name: kMaxCapacityTotal
      - name: kCapacityResize
      - name: kNumTypes
      item_type: enum
      name: PerClassMissType
      pos:
        line_end: 272
        line_start: 260
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kTotal
        value: '0'
      - name: kNumCounts
      - name: kSlabResize
      - name: kReclaim
      - name: kShuffle
      item_type: enum
      name: MissCount
      pos:
        line_end: 288
        line_start: 275
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kNoop
        value: '0'
      - name: kShrink
      - name: kGrow
      item_type: enum
      name: DynamicSlabResize
      pos:
        line_end: 258
        line_start: 254
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kCapacityTotal
        value: '0'
      - name: kMaxCapacityResize
      - name: kMaxCapacityTotal
      - name: kCapacityResize
      - name: kNumTypes
      item_type: enum
      name: PerClassMissType
      pos:
        line_end: 272
        line_start: 260
        source_file: /src/tcmalloc/tcmalloc/cpu_cache.h
    - enumerators:
      - name: kTotal
        value: '0'
      - name: kNumCounts
      - name: kSlabResize
      - name: kReclaim
      - name: kShuffle
      item_type: enum
      name: MissCount
      pos:
        line_end: 288
        line_start: 275
        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: 216
        line_start: 213
        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: 238
        line_start: 218
        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: 252
        line_start: 243
        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: 303
        line_start: 290
        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: 309
        line_start: 305
        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: 522
        line_start: 515
        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: 568
        line_start: 561
        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: 581
        line_start: 575
        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: 666
        line_start: 663
        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: 670
        line_start: 667
        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: 2168
        line_start: 2149
        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: 216
        line_start: 213
        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: 238
        line_start: 218
        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: 252
        line_start: 243
        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: 303
        line_start: 290
        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: 309
        line_start: 305
        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: 522
        line_start: 515
        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: 568
        line_start: 561
        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: 581
        line_start: 575
        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: 666
        line_start: 663
        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: 670
        line_start: 667
        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: 2168
        line_start: 2149
        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: 216
        line_start: 213
        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: 238
        line_start: 218
        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: 252
        line_start: 243
        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: 303
        line_start: 290
        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: 309
        line_start: 305
        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: 522
        line_start: 515
        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: 568
        line_start: 561
        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: 581
        line_start: 575
        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: 666
        line_start: 663
        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: 670
        line_start: 667
        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: 2168
        line_start: 2149
        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: 216
        line_start: 213
        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: 238
        line_start: 218
        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: 252
        line_start: 243
        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: 303
        line_start: 290
        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: 309
        line_start: 305
        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: 522
        line_start: 515
        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: 568
        line_start: 561
        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: 581
        line_start: 575
        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: 666
        line_start: 663
        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: 670
        line_start: 667
        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: 2168
        line_start: 2149
        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::InitializeDefault
  - tcmalloc::tcmalloc_internal::CheckLifetimeStats
  - tcmalloc::tcmalloc_internal::TEST_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::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::InitializeDefault
  - tcmalloc::tcmalloc_internal::CheckLifetimeStats
  - tcmalloc::tcmalloc_internal::TEST_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::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::InitializeDefault
  - tcmalloc::tcmalloc_internal::CheckLifetimeStats
  - tcmalloc::tcmalloc_internal::TEST_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::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::InitializeDefault
  - tcmalloc::tcmalloc_internal::CheckLifetimeStats
  - tcmalloc::tcmalloc_internal::TEST_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::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::InitializeDefault
  - tcmalloc::tcmalloc_internal::CheckLifetimeStats
  - tcmalloc::tcmalloc_internal::TEST_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::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::InitializeDefault
  - tcmalloc::tcmalloc_internal::CheckLifetimeStats
  - tcmalloc::tcmalloc_internal::TEST_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::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::InitializeDefault
  - tcmalloc::tcmalloc_internal::CheckLifetimeStats
  - tcmalloc::tcmalloc_internal::TEST_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::TestIndexing
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::InitializeDefault
  - tcmalloc::tcmalloc_internal::CheckLifetimeStats
  - tcmalloc::tcmalloc_internal::TEST_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
  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: 138
        line_start: 135
        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: 138
        line_start: 135
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: live
        type: absl::flat_hash_map<size_t, size_t>
      - name: completed
        type: absl::flat_hash_map<size_t, size_t>
      item_type: struct
      name: SpanLifetimes
      pos:
        line_end: 730
        line_start: 719
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: live
        type: absl::flat_hash_map<size_t, size_t>
      - name: completed
        type: absl::flat_hash_map<size_t, size_t>
      item_type: struct
      name: SpanLifetimes
      pos:
        line_end: 730
        line_start: 719
        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: 138
        line_start: 135
        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: 138
        line_start: 135
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: live
        type: absl::flat_hash_map<size_t, size_t>
      - name: completed
        type: absl::flat_hash_map<size_t, size_t>
      item_type: struct
      name: SpanLifetimes
      pos:
        line_end: 730
        line_start: 719
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: live
        type: absl::flat_hash_map<size_t, size_t>
      - name: completed
        type: absl::flat_hash_map<size_t, size_t>
      item_type: struct
      name: SpanLifetimes
      pos:
        line_end: 730
        line_start: 719
        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: 138
        line_start: 135
        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: 138
        line_start: 135
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: live
        type: absl::flat_hash_map<size_t, size_t>
      - name: completed
        type: absl::flat_hash_map<size_t, size_t>
      item_type: struct
      name: SpanLifetimes
      pos:
        line_end: 730
        line_start: 719
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: live
        type: absl::flat_hash_map<size_t, size_t>
      - name: completed
        type: absl::flat_hash_map<size_t, size_t>
      item_type: struct
      name: SpanLifetimes
      pos:
        line_end: 730
        line_start: 719
        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: 138
        line_start: 135
        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: 138
        line_start: 135
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: live
        type: absl::flat_hash_map<size_t, size_t>
      - name: completed
        type: absl::flat_hash_map<size_t, size_t>
      item_type: struct
      name: SpanLifetimes
      pos:
        line_end: 730
        line_start: 719
        source_file: /src/tcmalloc/tcmalloc/central_freelist_test.cc
    - fields:
      - name: live
        type: absl::flat_hash_map<size_t, size_t>
      - name: completed
        type: absl::flat_hash_map<size_t, size_t>
      item_type: struct
      name: SpanLifetimes
      pos:
        line_end: 730
        line_start: 719
        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::Get
  - tcmalloc_internal::HugeCache::Release
  - tcmalloc_internal::HugeCache::ReleaseUnbacked
  - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
  - tcmalloc_internal::HugeCache::ShrinkCache
  - tcmalloc_internal::HugeCache::ReleaseCachedPages
  - 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::Get
  - tcmalloc_internal::HugeCache::Release
  - tcmalloc_internal::HugeCache::ReleaseUnbacked
  - tcmalloc_internal::HugeCache::MaybeShrinkCacheLimit
  - tcmalloc_internal::HugeCache::ShrinkCache
  - tcmalloc_internal::HugeCache::ReleaseCachedPages
  - 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_Multithreaded
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_Multithreaded
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_Multithreaded
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_Multithreaded
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_Multithreaded
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_Multithreaded
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_Multithreaded
  - tcmalloc::tcmalloc_internal::BM_MixAndReturn
  - tcmalloc::tcmalloc_internal::BM_SpanReuse
  - tcmalloc::tcmalloc_internal::BM_Populate
  - tcmalloc::tcmalloc_internal::BM_Multithreaded
  - 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
  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::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::use_userspace_collapse_heuristics
  - ~HugePageAwareAllocator() override
  - operator delete(void*)
  - 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
  - operator delete(void*)
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
  - ~UnbackWithoutLock() override
  - operator delete(void*)
  - 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 delete(void*)
  - operator()(Range r) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
  - ~SetAnonVmaName() override
  - operator delete(void*)
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
  - ~VirtualMemoryAllocator() override
  - operator delete(void*)
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
  - ~ArenaMetadataAllocator() override
  - operator delete(void*)
  - '* 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::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::use_userspace_collapse_heuristics
  - ~HugePageAwareAllocator() override
  - operator delete(void*)
  - 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
  - operator delete(void*)
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
  - ~UnbackWithoutLock() override
  - operator delete(void*)
  - 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 delete(void*)
  - operator()(Range r) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
  - ~SetAnonVmaName() override
  - operator delete(void*)
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
  - ~VirtualMemoryAllocator() override
  - operator delete(void*)
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
  - ~ArenaMetadataAllocator() override
  - operator delete(void*)
  - '* 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::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::use_userspace_collapse_heuristics
  - ~HugePageAwareAllocator() override
  - operator delete(void*)
  - 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
  - operator delete(void*)
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
  - ~UnbackWithoutLock() override
  - operator delete(void*)
  - 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 delete(void*)
  - operator()(Range r) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
  - ~SetAnonVmaName() override
  - operator delete(void*)
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
  - ~VirtualMemoryAllocator() override
  - operator delete(void*)
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
  - ~ArenaMetadataAllocator() override
  - operator delete(void*)
  - '* 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::release_partial_alloc_pages
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::hpaa_subrelease
  - tcmalloc_internal::huge_page_allocator_internal::StaticForwarder::use_userspace_collapse_heuristics
  - ~HugePageAwareAllocator() override
  - operator delete(void*)
  - 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
  - operator delete(void*)
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::Unback::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::UnbackWithoutLock::UnbackWithoutLock
  - ~UnbackWithoutLock() override
  - operator delete(void*)
  - 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 delete(void*)
  - operator()(Range r) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::SetAnonVmaName::SetAnonVmaName
  - ~SetAnonVmaName() override
  - operator delete(void*)
  - operator()(Range r, std::optional<absl::string_view> name) override
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::VirtualMemoryAllocator
  - ~VirtualMemoryAllocator() override
  - operator delete(void*)
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::VirtualMemoryAllocator::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - tcmalloc_internal::huge_page_allocator_internal::HugePageAwareAllocator::ArenaMetadataAllocator::ArenaMetadataAllocator
  - ~ArenaMetadataAllocator() override
  - operator delete(void*)
  - '* 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: huge_cache_time
        type: absl::Duration
      item_type: struct
      name: HugePageAwareAllocatorOptions
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: huge_cache_time
        type: absl::Duration
      item_type: struct
      name: HugePageAwareAllocatorOptions
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: huge_cache_time
        type: absl::Duration
      item_type: struct
      name: HugePageAwareAllocatorOptions
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    - fields:
      - name: tag
        type: MemoryTag
      - name: use_huge_region_more_often
        type: HugeRegionUsageOption
      - name: huge_cache_time
        type: absl::Duration
      item_type: struct
      name: HugePageAwareAllocatorOptions
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
    typedefs:
    - item_type: typedef
      name: FillerType
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
      type: HugePageFiller
    - item_type: typedef
      name: FillerType
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
      type: HugePageFiller
    - item_type: typedef
      name: FillerType
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
      type: HugePageFiller
    - item_type: typedef
      name: FillerType
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/tcmalloc/tcmalloc/huge_page_aware_allocator.h
      type: HugePageFiller
    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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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: kNormalPartitions
        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:
  - namespace
  - Static
  - Static
  - Static
  - '& operator=(const Static&)'
  - '& operator=(Static&&)'
  - '& central_freelist(int size_class)'
  - '& transfer_cache()'
  - '& sharded_transfer_cache()'
  - '& sizemap()'
  - '& cpu_cache()'
  - '& peak_heap_tracker()'
  - '& numa_topology()'
  - multiple_non_numa_partitions
  - active_partitions
  - "&\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()'
  - '& invalid_span()'
  - PageAllocatorStorage
  - Static::IsInited
  - Static::InitIfNecessary
  - ConstantRatePageAllocatorReleaser::Release
  source_file: /src/tcmalloc/tcmalloc/static_vars.h
  types:
    enum: []
    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: 246
        line_start: 241
        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::num_priority_lists
  - 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::num_priority_lists
  - 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::num_priority_lists
  - 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::num_priority_lists
  - 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: 119
        line_start: 116
        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: 119
        line_start: 116
        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: 119
        line_start: 116
        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: 119
        line_start: 116
        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::release_free_swapped
  - 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::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::release_free_swapped
  - 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::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::HeapPartitioningModeString
  - 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::HeapPartitioningModeString
  - 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::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::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_GetOwnership
  - tcmalloc_internal::MallocExtension_Internal_GetProperties
  - tcmalloc_internal::MallocExtension_Internal_ReleaseCpuMemory
  - tcmalloc_internal::GetLargeSizeAndSampled
  - tcmalloc_internal::GetLargeSize
  - tcmalloc_internal::GetSizeAndSampled
  - tcmalloc_internal::GetSize
  - tcmalloc_internal::FreeWithHooksOrPerThread
  - tcmalloc_internal::FreeSmallSlow
  - tcmalloc_internal::FreeSmall
  - tcmalloc_internal::do_malloc_pages
  - tcmalloc_internal::InvokeHooksAndFreePages
  - tcmalloc_internal::do_unsized_free_irregular
  - 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_unsized_free_irregular
  - 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_GetOwnership
  - tcmalloc_internal::MallocExtension_Internal_GetProperties
  - tcmalloc_internal::MallocExtension_Internal_ReleaseCpuMemory
  - tcmalloc_internal::GetLargeSizeAndSampled
  - tcmalloc_internal::GetLargeSize
  - tcmalloc_internal::GetSizeAndSampled
  - tcmalloc_internal::GetSize
  - tcmalloc_internal::FreeWithHooksOrPerThread
  - tcmalloc_internal::FreeSmallSlow
  - tcmalloc_internal::FreeSmall
  - tcmalloc_internal::do_malloc_pages
  - tcmalloc_internal::InvokeHooksAndFreePages
  - tcmalloc_internal::do_unsized_free_irregular
  - 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_unsized_free_irregular
  - 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,\n                                                   uint32_t
    size_class,\n                                                   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,\n                                                   uint32_t
    size_class,\n                                                   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,\n                                                   uint32_t
    size_class,\n                                                   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,\n                                                   uint32_t
    size_class,\n                                                   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_GetEstimatedAllocatedSize
  - 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
  - TCMallocInternalNewHotCold
  - TCMallocInternalNewAlignedHotCold
  - TCMallocInternalNewHotColdNothrow
  - TCMallocInternalNewAlignedHotColdNothrow
  - 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
  - TCMallocInternalDeleteAligned
  - 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"
  - DEFINE_ALLOC_TOKEN_NEW
  - DEFINE_ALLOC_TOKEN_NEW_EXTENSION
  - DEFINE_ALLOC_TOKEN_STDLIB
  - DEFINE_ALLOC_TOKEN_VARIANTS
  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: 508
        line_start: 505
        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: 508
        line_start: 505
        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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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:
    - enumerators:
      - name: kPow2Only
        value: '2'
      - name: kLegacy
        value: '4'
      - name: kReuse
        value: '6'
      item_type: enum
      name: SizeClassConfiguration
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/sizemap.h
    - enumerators:
      - name: kPow2Only
        value: '2'
      - name: kLegacy
        value: '4'
      - name: kReuse
        value: '6'
      item_type: enum
      name: SizeClassConfiguration
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/sizemap.h
    preproc_defs: []
    structs:
    - fields:
      - name: is_small
        type: bool
      - name: size_class
        type: size_t
      item_type: struct
      name: SizeMapResult
      pos:
        line_end: 197
        line_start: 194
        source_file: /src/tcmalloc/tcmalloc/sizemap.h
    - fields:
      - name: is_small
        type: bool
      - name: size_class
        type: size_t
      item_type: struct
      name: SizeMapResult
      pos:
        line_end: 197
        line_start: 194
        source_file: /src/tcmalloc/tcmalloc/sizemap.h
    typedefs:
    - item_type: typedef
      name: BatchSize
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/tcmalloc/tcmalloc/sizemap.h
      type: unsigned char
    - item_type: typedef
      name: BatchSize
      pos:
        line_end: 124
        line_start: 124
        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: kHardLimitExceeded
      - name: kProcessBackgroundActions
      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: kHardLimitExceeded
      - name: kProcessBackgroundActions
      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::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::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: 216
        line_start: 208
        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: 216
        line_start: 208
        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::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::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::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::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::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::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::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::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: 322
        line_start: 319
        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: 1203
        line_start: 1200
        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: 1662
        line_start: 1640
        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: 322
        line_start: 319
        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: 1203
        line_start: 1200
        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: 1662
        line_start: 1640
        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: 322
        line_start: 319
        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: 1203
        line_start: 1200
        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: 1662
        line_start: 1640
        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: 322
        line_start: 319
        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: 1203
        line_start: 1200
        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: 1662
        line_start: 1640
        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: 322
        line_start: 319
        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: 1203
        line_start: 1200
        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: 1662
        line_start: 1640
        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: 322
        line_start: 319
        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: 1203
        line_start: 1200
        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: 1662
        line_start: 1640
        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: 322
        line_start: 319
        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: 1203
        line_start: 1200
        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: 1662
        line_start: 1640
        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: 322
        line_start: 319
        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: 1203
        line_start: 1200
        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: 1662
        line_start: 1640
        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: 56
        line_start: 47
        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: 56
        line_start: 47
        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: 56
        line_start: 47
        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: 56
        line_start: 47
        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: 69
        line_start: 65
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: "_Pragma(\"clang section text = \\\"google_malloc\\\"\")          \\\n
        \     _Pragma(\"clang section data = \\\"google_malloc_data\\\"\") \\\n          _Pragma(\"clang
        section bss = \\\"google_malloc_bss\\\"\")"
    - item_type: preproc_def
      name: GOOGLE_MALLOC_SECTION_END
      pos:
        line_end: 71
        line_start: 69
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: _Pragma("clang section text = \"\" data = \"\" bss = \"\"")
    - item_type: preproc_def
      name: GOOGLE_MALLOC_SECTION
      pos:
        line_end: 73
        line_start: 72
        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: 83
        line_start: 82
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: '[[clang::no_destroy]]'
    - item_type: preproc_def
      name: TCMALLOC_CAPTURED_BY_THIS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcmalloc/tcmalloc/internal/config.h
      type_or_value: ABSL_INTERNAL_ATTRIBUTE_CAPTURED_BY(this)
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - tcmalloc_internal::GwpAsanState::GwpAsanState
  - tcmalloc_internal::GwpAsanState::type
  - tcmalloc_internal::GwpAsanState::ptr
  - 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::alloc_type
  - tcmalloc_internal::GwpAsanState::dealloc_type
  - tcmalloc_internal::GwpAsanState::RecordMismatch
  - tcmalloc_internal::GwpAsanState::RecordDoubleFree
  - tcmalloc_internal::GwpAsanState::RecordInvalidFree
  - tcmalloc_internal::GwpAsanState::RecordInvalidFree
  - tcmalloc_internal::GwpAsanState::RecordInvalidFree
  - tcmalloc_internal::GwpAsanState::RecordMismatchedFree
  - tcmalloc_internal::GwpAsanState::GwpAsanState
  - tcmalloc_internal::GwpAsanState::type
  - tcmalloc_internal::GwpAsanState::ptr
  - 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::alloc_type
  - tcmalloc_internal::GwpAsanState::dealloc_type
  - tcmalloc_internal::GwpAsanState::RecordMismatch
  - tcmalloc_internal::GwpAsanState::RecordDoubleFree
  - tcmalloc_internal::GwpAsanState::RecordInvalidFree
  - tcmalloc_internal::GwpAsanState::RecordInvalidFree
  - tcmalloc_internal::GwpAsanState::RecordInvalidFree
  - tcmalloc_internal::GwpAsanState::RecordMismatchedFree
  source_file: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
  types:
    enum:
    - enumerators:
      - name: kNone
      - name: kMismatchedDelete
      - name: kDoubleFree
      - name: kInvalidFree
      - name: kMismatchedFree
      item_type: enum
      name: Type
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/tcmalloc/tcmalloc/internal/gwp_asan_state.h
    - enumerators:
      - name: kNone
      - name: kMismatchedDelete
      - name: kDoubleFree
      - name: kInvalidFree
      - name: kMismatchedFree
      item_type: enum
      name: Type
      pos:
        line_end: 42
        line_start: 36
        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::AddCommonSampleTags
  - 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::AddCommonSampleTags
  - 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::AddCommonSampleTags
  - 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::AddCommonSampleTags
  - 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: 112
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 137
        line_start: 129
        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: 112
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 137
        line_start: 129
        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: 112
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 137
        line_start: 129
        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: 112
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 137
        line_start: 129
        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: 112
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 137
        line_start: 129
        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: 112
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 137
        line_start: 129
        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: 112
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 137
        line_start: 129
        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: 112
        line_start: 104
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleEqWithSubFields
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    - fields: []
      item_type: struct
      name: SampleHashWithSubFields
      pos:
        line_end: 137
        line_start: 129
        source_file: /src/tcmalloc/tcmalloc/internal/profile_builder.cc
    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::MmapRegion::MmapRegion
  - ~MmapRegion() override
  - operator delete(void*)
  - tcmalloc_internal::SystemAllocator::MmapRegionFactory::MmapRegionFactory
  - ~MmapRegionFactory() override
  - operator delete(void*)
  - 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, NormalPartitions>::Allocate
  - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::GetRegionFactory
  - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::SetRegionFactory
  - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions
  - "SystemAllocator<Topology, NormalPartitions>::MmapRegion::Alloc(\n    size_t request_size,
    size_t alignment)"
  - "*\nSystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::Create(\n
    \   void* start, size_t size, UsageHint hint)"
  - "SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStats(\n    absl::Span<char>
    buffer)"
  - "SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStatsInPbtxt(\n
    \   absl::Span<char> buffer)"
  - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::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::MmapRegion::MmapRegion
  - ~MmapRegion() override
  - operator delete(void*)
  - tcmalloc_internal::SystemAllocator::MmapRegionFactory::MmapRegionFactory
  - ~MmapRegionFactory() override
  - operator delete(void*)
  - 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, NormalPartitions>::Allocate
  - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::GetRegionFactory
  - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::SetRegionFactory
  - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::DiscardMappedRegions
  - "SystemAllocator<Topology, NormalPartitions>::MmapRegion::Alloc(\n    size_t request_size,
    size_t alignment)"
  - "*\nSystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::Create(\n
    \   void* start, size_t size, UsageHint hint)"
  - "SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStats(\n    absl::Span<char>
    buffer)"
  - "SystemAllocator<Topology, NormalPartitions>::MmapRegionFactory::GetStatsInPbtxt(\n
    \   absl::Span<char> buffer)"
  - tcmalloc_internal::SystemAllocator<Topology, NormalPartitions>::AllocateFromRegion
  - SystemAllocator<Topology, NormalPartitions>::MmapAligned
  - SystemAllocator<Topology, NormalPartitions>::MmapAlignedLocked
  - SystemAllocator<Topology, NormalPartitions>::Release
  - SystemAllocator<Topology, NormalPartitions>::Collapse
  - SystemAllocator<Topology, NormalPartitions>::SetAnonVmaName
  - SystemAllocator<Topology, NormalPartitions>::BindMemory
  - SystemAllocator<Topology, NormalPartitions>::TagToHint
  - SystemAllocator<Topology, NormalPartitions>::RandomMmapHint
  - SystemAllocator<Topology, NormalPartitions>::ReleasePages
  source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MADV_FREE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MADV_COLLAPSE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
      type_or_value: '25 '
    - item_type: preproc_def
      name: PR_SET_VMA
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
      type_or_value: '0x53564d41'
    - item_type: preproc_def
      name: PR_SET_VMA_ANON_NAME
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '* ptr'
        type: void
      - name: bytes
        type: size_t
      item_type: struct
      name: AddressRange
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    - fields:
      - name: success
        type: bool
      - name: error_number
        type: int
      item_type: struct
      name: MemoryModifyStatus
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    - fields:
      - name: '* ptr'
        type: void
      - name: bytes
        type: size_t
      item_type: struct
      name: AddressRange
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    - fields:
      - name: success
        type: bool
      - name: error_number
        type: int
      item_type: struct
      name: MemoryModifyStatus
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.h
    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:
  - 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::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - 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::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - 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::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  - 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::MappingName
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::MmapAndCheck
  - tcmalloc::tcmalloc_internal::MmapAlignedTest::PrSetVmaIsSupported
  - tcmalloc::tcmalloc_internal::TEST_P
  - tcmalloc::tcmalloc_internal::TEST_F
  source_file: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PR_SET_VMA
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
      type_or_value: '0x53564d41'
    - item_type: preproc_def
      name: PR_SET_VMA_ANON_NAME
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator_test.cc
      type_or_value: '0'
    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: 151
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U16
      pos:
        line_end: 156
        line_start: 153
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U8
      pos:
        line_end: 161
        line_start: 158
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U32
      pos:
        line_end: 151
        line_start: 148
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U16
      pos:
        line_end: 156
        line_start: 153
        source_file: /src/tcmalloc/tcmalloc/internal/range_tracker.h
    - fields: []
      item_type: struct
      name: U8
      pos:
        line_end: 161
        line_start: 158
        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::GetThreadSamplerAddress
  - 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::GetThreadSamplerAddress
  - 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::GetThreadSamplerAddress
  - 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::GetThreadSamplerAddress
  - 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::GetThreadSamplerAddress
  - 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::GetThreadSamplerAddress
  - 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::GetThreadSamplerAddress
  - 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::GetThreadSamplerAddress
  - 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
      - name: kMM
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      - name: kMM
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      - name: kMM
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      - name: kMM
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      - name: kMM
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      - name: kMM
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      - name: kMM
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
    - enumerators:
      - name: kNone
      - name: kMM
      item_type: enum
      name: RseqVcpuMode
      pos:
        line_end: 212
        line_start: 212
        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_RSEQ_CS_OFFSET
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_SAMPLER_OFFSET
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '40'
    - item_type: preproc_def
      name: TCMALLOC_CACHED_SLABS_BIT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '63'
    - item_type: preproc_def
      name: TCMALLOC_CACHED_SLABS_MASK
      pos:
        line_end: 36
        line_start: 35
        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: 41
        line_start: 40
        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: 43
        line_start: 42
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_VERSION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_FLAGS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_SIGNATURE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0x53053053'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_SIGNATURE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0xd428bc00'
    - item_type: preproc_def
      name: TCMALLOC_PERCPU_RSEQ_SIGNATURE
      pos:
        line_end: 54
        line_start: 53
        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: 80
        line_start: 79
        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: 82
        line_start: 81
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace tcmalloc::tcmalloc_internal::system_allocator_internal
  - preferential_collapse
  - MapFixedNoReplaceFlagAvailable
  source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_ANONYMOUS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.cc
      type_or_value: MAP_ANON
    - item_type: preproc_def
      name: MAP_FIXED_NOREPLACE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.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: 74
        line_start: 70
        source_file: /src/tcmalloc/tcmalloc/internal/system_allocator.cc
- 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: 321
        line_start: 321
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - enumerators:
      - name: kTop
      - name: kNested
      item_type: enum
      name: PbtxtRegionType
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    preproc_defs:
    - item_type: preproc_def
      name: TC_ASSERT
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK
    - item_type: preproc_def
      name: TC_ASSERT_EQ
      pos:
        line_end: 179
        line_start: 178
        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: 180
        line_start: 179
        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: 181
        line_start: 180
        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: 182
        line_start: 181
        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: 183
        line_start: 182
        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: 184
        line_start: 183
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK_GE
    - item_type: preproc_def
      name: TC_ASSERT
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
      type_or_value: TC_CHECK
    - item_type: preproc_def
      name: TC_ASSERT_EQ
      pos:
        line_end: 179
        line_start: 178
        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: 180
        line_start: 179
        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: 181
        line_start: 180
        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: 182
        line_start: 181
        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: 183
        line_start: 182
        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: 184
        line_start: 183
        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: std::optional<std::align_val_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: token_id
        type: TokenId
      - 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: 105
        line_start: 61
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: '* val'
        type: void
      item_type: struct
      name: PtrFormatter
      pos:
        line_end: 220
        line_start: 214
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: '* val'
        type: T
      item_type: struct
      name: OptionalFormatter
      pos:
        line_end: 240
        line_start: 230
        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: std::optional<std::align_val_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: token_id
        type: TokenId
      - 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: 105
        line_start: 61
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: '* val'
        type: void
      item_type: struct
      name: PtrFormatter
      pos:
        line_end: 220
        line_start: 214
        source_file: /src/tcmalloc/tcmalloc/internal/logging.h
    - fields:
      - name: '* val'
        type: T
      item_type: struct
      name: OptionalFormatter
      pos:
        line_end: 240
        line_start: 230
        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: 47
        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: 47
        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()
  - operator delete(void*)
  - tcmalloc_internal::ResidencyPageMap::GetNativePagesInHugePage
  - "& operator<<(std::ostream& stream,\n                                const Residency::Info&
    rhs)"
  - ~Residency()
  - operator delete(void*)
  - 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
  - MetadataAllocator::MetadataAllocator
  - ~MetadataAllocator()
  - MetadataAllocator::MetadataAllocator
  - MetadataAllocator::MetadataAllocator
  - '& operator=(const MetadataAllocator&)'
  - '& operator=(MetadataAllocator&&)'
  - operator()(size_t bytes)
  source_file: /src/tcmalloc/tcmalloc/internal/metadata_allocator.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: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcmalloc/tcmalloc/internal/percpu.cc
    - enumerators:
      - name: kFastMode
      - name: kSlowMode
      item_type: enum
      name: PerCpuInitStatus
      pos:
        line_end: 59
        line_start: 56
        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
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    - item_type: typedef
      name: TcmallocSlab
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc_test.cc
      type: TcmallocSlab<kStressSlabs>
    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
  source_file: /src/tcmalloc/tcmalloc/internal/memory_tag.h
  types:
    enum:
    - enumerators:
      - name: kSampled
        value: '0x0'
      - name: kNormal
        value: kNormalP0
      - name: kNormalP1
        value: 'kSanitizerAddressSpace ? 0xff : 0x6'
      - name: kNormalP0
        value: 'kSanitizerAddressSpace ? 0x1 : 0x4'
      - name: kCold
        value: '0x2'
      - name: kMetadata
        value: '0x3'
      item_type: enum
      name: MemoryTag
      pos:
        line_end: 40
        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::prepend
  - tcmalloc_internal::TList::append
  - 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::prepend
  - tcmalloc_internal::TList::append
  - 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:
  - ~FakeMetadataAllocator() override
  - '* operator()(size_t size) override'
  - ~FakeMetadataAllocator() override
  - '* operator()(size_t size) override'
  source_file: /src/tcmalloc/tcmalloc/internal/mock_metadata_allocator.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: 61
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
      type_or_value: '334'
    - item_type: preproc_def
      name: __NR_rseq
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
      type_or_value: '293'
    - item_type: preproc_def
      name: __NR_rseq
      pos:
        line_end: 65
        line_start: 64
        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: 70
        line_start: 69
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
      type_or_value: '24'
    - item_type: preproc_def
      name: AT_RSEQ_FEATURE_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
      type_or_value: '27'
    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: node_id
        type: unsigned
      - name: mm_cid
        type: unsigned
      item_type: struct
      name: kernel_rseq
      pos:
        line_end: 46
        line_start: 27
        source_file: /src/tcmalloc/tcmalloc/internal/linux_syscall_support.h
    - fields: []
      item_type: struct
      name: kernel_rseq_cs
      pos:
        line_end: 53
        line_start: 51
        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::MakeTestLifetimeProfile
  - 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::MakeTestLifetimeProfile
  - 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::MakeTestLifetimeProfile
  - 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::MakeTestLifetimeProfile
  - 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::MakeTestLifetimeProfile
  - 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::MakeTestLifetimeProfile
  - 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::MakeTestLifetimeProfile
  - 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::MakeTestLifetimeProfile
  - 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: 212
        line_start: 203
        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: 212
        line_start: 203
        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: 212
        line_start: 203
        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: 212
        line_start: 203
        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: 212
        line_start: 203
        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: 212
        line_start: 203
        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: 212
        line_start: 203
        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: 212
        line_start: 203
        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:
  - namespace
  source_file: /src/tcmalloc/tcmalloc/internal/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/internal/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/internal/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/internal/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/internal/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/internal/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/internal/size_class_info.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
  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
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::tcmalloc_internal::TEST_F
  - tcmalloc::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::TcmallocSlab::num_cpus
  - 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::TcmallocSlab::num_cpus
  - 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::TcmallocSlab::num_cpus
  - 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::TcmallocSlab::num_cpus
  - 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::TcmallocSlab::num_cpus
  - 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::TcmallocSlab::num_cpus
  - 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::TcmallocSlab::num_cpus
  - 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::TcmallocSlab::num_cpus
  - 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: 434
        line_start: 433
        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: 435
        line_start: 434
        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: 460
        line_start: 457
        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: 464
        line_start: 463
        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: 465
        line_start: 464
        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: 466
        line_start: 465
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 477
        line_start: 476
        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: 543
        line_start: 538
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[sampler_addr] \"r\"(subtle::percpu::GetThreadSamplerAddress()),
        \            \\\n      [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 558
        line_start: 550
        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: 434
        line_start: 433
        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: 435
        line_start: 434
        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: 460
        line_start: 457
        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: 464
        line_start: 463
        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: 465
        line_start: 464
        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: 466
        line_start: 465
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 477
        line_start: 476
        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: 543
        line_start: 538
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[sampler_addr] \"r\"(subtle::percpu::GetThreadSamplerAddress()),
        \            \\\n      [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 558
        line_start: 550
        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: 434
        line_start: 433
        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: 435
        line_start: 434
        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: 460
        line_start: 457
        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: 464
        line_start: 463
        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: 465
        line_start: 464
        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: 466
        line_start: 465
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 477
        line_start: 476
        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: 543
        line_start: 538
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[sampler_addr] \"r\"(subtle::percpu::GetThreadSamplerAddress()),
        \            \\\n      [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 558
        line_start: 550
        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: 434
        line_start: 433
        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: 435
        line_start: 434
        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: 460
        line_start: 457
        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: 464
        line_start: 463
        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: 465
        line_start: 464
        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: 466
        line_start: 465
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 477
        line_start: 476
        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: 543
        line_start: 538
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[sampler_addr] \"r\"(subtle::percpu::GetThreadSamplerAddress()),
        \            \\\n      [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 558
        line_start: 550
        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: 434
        line_start: 433
        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: 435
        line_start: 434
        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: 460
        line_start: 457
        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: 464
        line_start: 463
        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: 465
        line_start: 464
        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: 466
        line_start: 465
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 477
        line_start: 476
        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: 543
        line_start: 538
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[sampler_addr] \"r\"(subtle::percpu::GetThreadSamplerAddress()),
        \            \\\n      [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 558
        line_start: 550
        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: 434
        line_start: 433
        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: 435
        line_start: 434
        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: 460
        line_start: 457
        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: 464
        line_start: 463
        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: 465
        line_start: 464
        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: 466
        line_start: 465
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 477
        line_start: 476
        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: 543
        line_start: 538
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[sampler_addr] \"r\"(subtle::percpu::GetThreadSamplerAddress()),
        \            \\\n      [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 558
        line_start: 550
        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: 434
        line_start: 433
        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: 435
        line_start: 434
        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: 460
        line_start: 457
        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: 464
        line_start: 463
        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: 465
        line_start: 464
        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: 466
        line_start: 465
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 477
        line_start: 476
        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: 543
        line_start: 538
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[sampler_addr] \"r\"(subtle::percpu::GetThreadSamplerAddress()),
        \            \\\n      [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 558
        line_start: 550
        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: 434
        line_start: 433
        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: 435
        line_start: 434
        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: 460
        line_start: 457
        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: 464
        line_start: 463
        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: 465
        line_start: 464
        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: 466
        line_start: 465
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_RELOC
      pos:
        line_end: 477
        line_start: 476
        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: 543
        line_start: 538
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
      type_or_value: "[sampler_addr] \"r\"(subtle::percpu::GetThreadSamplerAddress()),
        \            \\\n      [rseq_sig] \"n\"(                                                        \\\n
        \         TCMALLOC_PERCPU_RSEQ_SIGNATURE), "
    - item_type: preproc_def
      name: TCMALLOC_RSEQ_INPUTS
      pos:
        line_end: 558
        line_start: 550
        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: 338
        line_start: 333
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: stopped
        type: std::atomic<bool>
      item_type: struct
      name: CpuState
      pos:
        line_end: 386
        line_start: 382
        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: 338
        line_start: 333
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: stopped
        type: std::atomic<bool>
      item_type: struct
      name: CpuState
      pos:
        line_end: 386
        line_start: 382
        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: 338
        line_start: 333
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: stopped
        type: std::atomic<bool>
      item_type: struct
      name: CpuState
      pos:
        line_end: 386
        line_start: 382
        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: 338
        line_start: 333
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: stopped
        type: std::atomic<bool>
      item_type: struct
      name: CpuState
      pos:
        line_end: 386
        line_start: 382
        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: 338
        line_start: 333
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: stopped
        type: std::atomic<bool>
      item_type: struct
      name: CpuState
      pos:
        line_end: 386
        line_start: 382
        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: 338
        line_start: 333
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: stopped
        type: std::atomic<bool>
      item_type: struct
      name: CpuState
      pos:
        line_end: 386
        line_start: 382
        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: 338
        line_start: 333
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: stopped
        type: std::atomic<bool>
      item_type: struct
      name: CpuState
      pos:
        line_end: 386
        line_start: 382
        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: 338
        line_start: 333
        source_file: /src/tcmalloc/tcmalloc/internal/percpu_tcmalloc.h
    - fields:
      - name: stopped
        type: std::atomic<bool>
      item_type: struct
      name: CpuState
      pos:
        line_end: 386
        line_start: 382
        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
  - operator delete(void*)
  - tcmalloc_internal::MInCore::residence_impl
  - tcmalloc_internal::MInCore::residence
  - tcmalloc_internal::OsMInCore::mincore
  - ~OsMInCore() override
  - operator delete(void*)
  - 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
      type: TList
    - item_type: typedef
      name: MockSpanList
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/tcmalloc/tcmalloc/internal/mock_span.h
      type: TList
    - item_type: typedef
      name: MockSpanList
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/tcmalloc/tcmalloc/internal/mock_span.h
      type: TList
    - item_type: typedef
      name: MockSpanList
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/tcmalloc/tcmalloc/internal/mock_span.h
      type: TList
    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::NumCPUsMaybe
  - tcmalloc_internal::NumCPUs
  - tcmalloc_internal::NumCPUsMaybe
  - 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 delete(void*)
  - 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 delete(void*)
  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:
  - 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:
  - tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::WildPointerRealloc
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::WildPointerSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MismatchedSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MismatchedAlignedDelete
  - tcmalloc::tcmalloc_internal::MismatchedAlignedFree
  - tcmalloc::tcmalloc_internal::MisalignedPointer
  - tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::WildPointerRealloc
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::WildPointerSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MismatchedSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MismatchedAlignedDelete
  - tcmalloc::tcmalloc_internal::MismatchedAlignedFree
  - tcmalloc::tcmalloc_internal::MisalignedPointer
  - tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::WildPointerRealloc
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::WildPointerSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MismatchedSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MismatchedAlignedDelete
  - tcmalloc::tcmalloc_internal::MismatchedAlignedFree
  - tcmalloc::tcmalloc_internal::MisalignedPointer
  - tcmalloc::tcmalloc_internal::WildPointerUnsizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::WildPointerRealloc
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::WildPointerSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MismatchedSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - tcmalloc::tcmalloc_internal::MismatchedAlignedDelete
  - tcmalloc::tcmalloc_internal::MismatchedAlignedFree
  - tcmalloc::tcmalloc_internal::MisalignedPointer
  - main
  source_file: /src/tcmalloc/tcmalloc/testing/memory_errors_fuzz.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::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::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::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::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::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::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::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::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: 42
        line_start: 41
        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: 46
        line_start: 45
        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::AlignedNewDelete
  - tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - 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::AlignedNewDelete
  - tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - 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::AlignedNewDelete
  - tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - 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::AlignedNewDelete
  - tcmalloc::tcmalloc_internal::AlignedNewSizedDelete
  - tcmalloc::tcmalloc_internal::TEST
  - 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: std::align_val_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: std::align_val_t
      item_type: struct
      name: Params
      pos:
        line_end: 99
        line_start: 93
        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: 556
        line_start: 549
        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: std::align_val_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: std::align_val_t
      item_type: struct
      name: Params
      pos:
        line_end: 99
        line_start: 93
        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: 556
        line_start: 549
        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::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::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::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
  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::LongJmpScope::LongJmpScope
  - ~LongJmpScope()
  - tcmalloc::LongJmpScope::FuzzLogWriter
  - 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::LongJmpScope::LongJmpScope
  - ~LongJmpScope()
  - tcmalloc::LongJmpScope::FuzzLogWriter
  source_file: /src/tcmalloc/tcmalloc/testing/testutil.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRAGMA_NO_UNROLL
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/tcmalloc/tcmalloc/testing/testutil.h
      type_or_value: _Pragma("nounroll")
    - item_type: preproc_def
      name: PRAGMA_NO_UNROLL
      pos:
        line_end: 275
        line_start: 274
        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: 67
        line_start: 66
        source_file: /src/tcmalloc/tcmalloc/testing/testutil.cc
      type_or_value: RLIMIT_AS
    - item_type: preproc_def
      name: USE_RESOURCE
      pos:
        line_end: 69
        line_start: 68
        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:
  - 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
  - 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
  - IsHot
  - TYPED_TEST
  - MinHotAccessHint
  - TYPED_TEST
  - TYPED_TEST
  - TYPED_TEST
  - TYPED_TEST
  - TYPED_TEST
  - TYPED_TEST
  - TYPED_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: 1074
        line_start: 1074
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - enumerators:
      - name: kSize
      - name: kHalfway
      - name: kCapacity
      item_type: enum
      name: DeleteSize
      pos:
        line_end: 1252
        line_start: 1252
        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: 145
        line_start: 141
        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: 310
        line_start: 307
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: a
        type: double
      item_type: struct
      name: Foo
      pos:
        line_end: 498
        line_start: 496
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields:
      - name: a
        type: double
      item_type: struct
      name: Foo
      pos:
        line_end: 516
        line_start: 513
        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: 629
        line_start: 625
        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: 659
        line_start: 655
        source_file: /src/tcmalloc/tcmalloc/testing/tcmalloc_test.cc
    - fields: []
      item_type: struct
      name: GlobalNallocx
      pos:
        line_end: 767
        line_start: 765
        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: 1299
        line_start: 1296
        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: 1387
        line_start: 1384
        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: 1435
        line_start: 1431
        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: 1485
        line_start: 1482
        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: 1533
        line_start: 1529
        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: 1584
        line_start: 1580
        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: 1649
        line_start: 1646
        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
      type: map<std::string, MallocExtension::Property>
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
      type: map<std::string, MallocExtension::Property>
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
      type: map<std::string, MallocExtension::Property>
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/tcmalloc/tcmalloc/testing/large_alloc_size_test.cc
      type: map<std::string, MallocExtension::Property>
    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
  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: 374
        line_start: 371
        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: 374
        line_start: 371
        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: 374
        line_start: 371
        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: 374
        line_start: 371
        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_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::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_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::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: 383
        line_start: 381
        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: 383
        line_start: 381
        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: 383
        line_start: 381
        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: 383
        line_start: 381
        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::TEST
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - ~NonTrivial()
  - tcmalloc::TEST
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - ~NonTrivial()
  - tcmalloc::TEST
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - tcmalloc::TYPED_TEST_P
  - ~NonTrivial()
  - tcmalloc::TEST
  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: 36
        line_start: 34
        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: 43
        line_start: 40
        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: 50
        line_start: 47
        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: 56
        line_start: 54
        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: 62
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: p
        type: TypeParam
      item_type: struct
      name: NonTrivial
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: int32_t
      item_type: struct
      name: Aligned4
      pos:
        line_end: 36
        line_start: 34
        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: 43
        line_start: 40
        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: 50
        line_start: 47
        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: 56
        line_start: 54
        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: 62
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: p
        type: TypeParam
      item_type: struct
      name: NonTrivial
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: int32_t
      item_type: struct
      name: Aligned4
      pos:
        line_end: 36
        line_start: 34
        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: 43
        line_start: 40
        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: 50
        line_start: 47
        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: 56
        line_start: 54
        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: 62
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: p
        type: TypeParam
      item_type: struct
      name: NonTrivial
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: a
        type: int32_t
      item_type: struct
      name: Aligned4
      pos:
        line_end: 36
        line_start: 34
        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: 43
        line_start: 40
        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: 50
        line_start: 47
        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: 56
        line_start: 54
        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: 62
        line_start: 60
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    - fields:
      - name: p
        type: TypeParam
      item_type: struct
      name: NonTrivial
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
    typedefs:
    - item_type: typedef
      name: MyTypes
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
      type: testing::Types<Aligned4, Aligned8, Aligned16, Aligned32, Aligned64>
    - item_type: typedef
      name: MyTypes
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
      type: testing::Types<Aligned4, Aligned8, Aligned16, Aligned32, Aligned64>
    - item_type: typedef
      name: MyTypes
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
      type: testing::Types<Aligned4, Aligned8, Aligned16, Aligned32, Aligned64>
    - item_type: typedef
      name: MyTypes
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcmalloc/tcmalloc/testing/aligned_new_test.cc
      type: testing::Types<Aligned4, Aligned8, Aligned16, Aligned32, Aligned64>
    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: kMremap
      - name: kMunmap
      - name: kMmap
      - 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: kMremap
      - name: kMunmap
      - name: kMmap
      - 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: kMremap
      - name: kMunmap
      - name: kMmap
      - 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: kMremap
      - name: kMunmap
      - name: kMmap
      - 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
      type: map<std::string, MallocExtension::Property>
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
      type: map<std::string, MallocExtension::Property>
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
      type: map<std::string, MallocExtension::Property>
    - item_type: typedef
      name: PropertyMap
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/tcmalloc/tcmalloc/testing/startup_size_test.cc
      type: map<std::string, MallocExtension::Property>
    union: []
